inverse和cascade

inverse,表示两个表的关系由谁维护。值为false的一方将维护这种关系。如下面多对多关系中,由HOST来维护它们之间的关系表hostalarmrule。

cascade,表示更新本表时,是否附带更新与其相关的其它表。如下面,更新HOST表,由于值为save-update,也会将rules增加或者更新到ALARMRULE表;但,删除HOST时,不会删除ALARMRULE表中数据。除非,其值为all。

   
        inverse="false" table="hostalarmrule" cascade="save-update">
           
           
       
               
   


   
      inverse="true">
           
           
       

   

 

 

cascade的含义

1.cascade=”none”,默认值,告诉Hibernate忽略关系。
2.cascade=”save-update”告诉Hibernate在下面这些情况导航关联:当事务提交时,当对象传给save()或update()方法并保存新初始化的瞬时实例及把更改持久到分离实例时。
3. cascade=”delete”告诉Hibernate当对象传给delete()时导航关联并删除持久实例。
4.cascade=”all”意思是save-update和delete都级联,就像调用evict和lock。
5.cascade=”all-delete-orphan”,跟cascade=”all”一样,但是除此之外,Hibernate 删除任何已经从关联(例如,从集合)删除(不再被引用)的持久实体实例。
6.cascade=”delete-orphan”,Hibernate 将会删除任何已经从关联(例如,从集合)删除(不再被引用)的持久实体实例。

你可能感兴趣的:(j2ee)