1. 设定cascade :可以设定在持久化时对于关联对象的操作(CUD,R归Fetch管)
2. cascade仅仅是帮我们省了变成的麻烦而已,不要把它的作用看的太大
A)Cascade的属性指明做什么操作的时候关联对象是绑在一起的
B) merge=save+ update
C)refresh =A里面需要读到B 改过之后的数据
3. 铁律:双向关系在程序中要设定双向关联
4. 铁律:双向 mappedBy
5. Fetch
A)铁律 :双向不要两边设置Eager(会有多余的查询语句发出)
B)对多方设置fetch的时候要谨慎,结合具体引用,一般用Lazy不用eager,特殊情况(多方数量不多的时候可以考虑,提高效率的时候可以考虑)
6. 要想删除或者更新,先做load,除了精确知道ID外
7. O/RMapping变成模型
A) 映射模型
I . J pa annotation
Ii. Hibernate annotation extension
Iii. Hibernate xml
Iv. Jpa xml
B) 编程接口
I. Jpa
Ii. hibernate
8. delete:
I.在删除以前我们要先load一下,如果想消除关联关系,先设定关系为null,再删除对应记录,如果不删除记录,该记录就变成垃圾记录
Ii. HQL
9. 如果指定@one2one的属性fetch为FetchType.LAZY,会延长对于关联对象的价值,
10.树状结构的设计(至关重要)
A) 在同一个类中使用one2many 和many2one