hibernate学习笔记三
来源:互联网 发布:teackpad Windows 编辑:程序博客网 时间:2024/06/01 10:17
今天学习了一对一 一对多 多对多的hibernate关系:
多对一的类,多的类对于一的类只需创建一个 Category category;对象 而一对多或者多对多 一或多的类需要创建一个set集合。
public class Product {
Set<User> users;
Category category;
}
这当中product与users是多对多。
步骤1: 为Category增加一个Set集合
步骤2 : 为Category.hbm.xml增加one-to-many映射
步骤3 : TestHibernate 测试one-to-many关系
当hibernate插入错误的时候,也要考虑一下所对应的数据库表是否多了或者少了属性。
多去看看caused by,一般错误都在那里。
hibernate实现事务: s.beginTransaction();//事务开始
在这中间插入一组事务 事务要么都执行要么都不执行
s.getTransaction().commit();//事务结束
mysql只有当表的类型是innodb的时候才支持事务。
延迟加载:分为属性的延迟加载和关系延迟加载。
属性的延迟加载:当使用load方式来获取对象的时候,只有访问了这个对象的属性hibernate才会到数据库中进行查询。否则不会访问数据库。
关系延迟加载:一对多多对多都可以使用
<set name="products" lazy="false"> false 改成true
同理。
多对一的类,多的类对于一的类只需创建一个 Category category;对象 而一对多或者多对多 一或多的类需要创建一个set集合。
public class Product {
Set<User> users;
Category category;
}
这当中product与users是多对多。
与category是多对一。
步骤1: 为Category增加一个Set集合
步骤2 : 为Category.hbm.xml增加one-to-many映射
步骤3 : TestHibernate 测试one-to-many关系
多对多的就不用专门建表
当hibernate插入错误的时候,也要考虑一下所对应的数据库表是否多了或者少了属性。
多去看看caused by,一般错误都在那里。
hibernate实现事务: s.beginTransaction();//事务开始
在这中间插入一组事务 事务要么都执行要么都不执行
s.getTransaction().commit();//事务结束
mysql只有当表的类型是innodb的时候才支持事务。
延迟加载:分为属性的延迟加载和关系延迟加载。
属性的延迟加载:当使用load方式来获取对象的时候,只有访问了这个对象的属性hibernate才会到数据库中进行查询。否则不会访问数据库。
关系延迟加载:一对多多对多都可以使用
<set name="products" lazy="false"> false 改成true
同理。
阅读全文
0 0
- hibernate学习笔记(三)
- hibernate学习笔记(三)
- hibernate学习笔记三
- hibernate学习笔记三
- Hibernate学习笔记三
- hibernate学习笔记(三)
- Hibernate学习笔记三
- Hibernate学习笔记(三)
- hibernate学习笔记三
- Hibernate学习笔记(三)
- Hibernate学习笔记(三)
- hibernate学习笔记(三)
- Hibernate 学习代码/笔记 (三)
- Hibernate学习笔记(三)
- Hibernate学习笔记之三
- Hibernate学习笔记(三)
- Hibernate学习笔记(三)
- [学习]Hibernate 3.2 学习笔记之三
- 算法学习资料
- Redis五种数据类型介绍
- NYOJ 312 20岁生日
- Java高级工程师常见面试题
- ibatis 日常问题总结
- hibernate学习笔记三
- js练习之个人信息的输入和显示
- containsKey方法——判断是否包含指定的键名
- 那些年,让我们一起头疼的异常!
- nodejs debug 模块使用
- Python数据挖掘的一些前期准备
- 羊皮卷之三
- 甩掉运维黑锅,容灾部署如何该怎么做
- 面对对象之封装继承多态(抽象)