Hibernate属性汇总(更新中)
1.控制属性的insert和update语句
Hibernate在默认情况下,会根据一个实体的映射文件,自动生成insert,update,delete语句。并将这些DML语句存放在SessionFactory二级缓存中。当执行session的save,update,delete方法时,就会在二级缓存中找到对应的sql语句执行。配置的如下:
<property name="name" update="false" column="name"/>
property元素中配置了update为false,表明在执行update时,name属性不会被包含在update语句中。下面为一些对应的配置属性。
// insert 为false时,表明在insert语句中不会包含该属性字段,表明该字段永远不能被插入。
<property insert="false"/>
//update为false,表明update语句不包含该属性字段,该字段永远不会被更新。
<property update="false"/>
// 该属性为true时,表示当保存一个对象时,会动态生成insert语句,只有这个字段取值不为null时,才会把它包含到insert语句中。
<property dynamic-insert="false"/>
// 该属性为true时,表示当更新一个对象时,会动态生成update语句,只有该字段取值有变化,才会把它包含到update语句中
<property dynamic-update="false"/>
2. inverse 属性
该属性用于在关联对象中,赋予次关联对象控制对象关联关系的权利。默认情况下,inserse为false,表示关联关系由主控对象控制。下面以例子来说明inverse属性的具体含义: