关联关系的crud(增加(Create)、查询(Retrieve)(重新得到数据)、更新(Update)和删除(Delete))的理解(casecade和fetch)

来源:互联网 发布:大数据与数据挖掘 编辑:程序博客网 时间:2024/05/18 02:23

在多对一双向关联中1.进行save操作,默认情况下,保存其中一个对象,hibernate并不会帮我们保存关联对象,通常可以按照顺序存储每个对象。如果要hibernate帮我们保存关联对象,则必须加上cascade属性,在jpa标准中其取值有(allpersistremoverefleshmerge),hibernate就可以保存保存对象的关联对象。2.进行get操作,影响读取操作的属性是:fetchManytoonefetch默认值为eager,而onetomanyfetch默认值为lasy。对于lasy的情况,hibernate不会主动帮我们取关联对象,但是在同一个Session域中当用到其关联对象时,hibernate会取出关联对象。而eager是把所有的关联对象一次加载到内存。3.进行update操作4.进行删除操作。

 

Cascadefetch

casecade影响除了get和load以外的操作,hibernate会根据其值进行相应的级联操作

fetch影响的是get和load操作,lasy时,hibernate不会主动取出级联对象,eager时,hibernate会主动取出级联对象。