首页 > 代码库 > hibernate set的3个属性

hibernate set的3个属性

inverse 属性

  • 在hibernate中通过对 inverse 属性的来决定是由双向关联的哪一方来维护表和表之间的关系. inverse = false 的为主动方,inverse = true 的为被动方, 由主动方负责维护关联关系
  • 在没有设置 inverse=true 的情况下,父子两边都维护父子关系 
  • 在 1-n 关系中,将 n 方设为主控方将有助于性能改善(如果要国家元首记住全国人民的名字,不是太可能,但要让全国人民知道国家元首,就容易的多)
  • 在 1-N 关系中,若将 1 方设为主控方
    会额外多出 update语句
    –插入数据时无法同时插入外键列,因而无法为外键列添加非空约束

cascade 属性(级联)
在对象 – 关系映射文件中, 用于映射持久化类之间关联关系的元素, <set>, <many-to-one> 和 <one-to-one> 都有一个 cascade 属性, 它用于指定如何操纵与当前对象关联的其他对象. 
注意:开发时不建议设定该属性. 建议使用手工的方式来处理



order-by 属性
在数据库中对集合排序
<set> 元素有一个 order-by 属性, 如果设置了该属性, 当 Hibernate 通过 select 语句到数据库中检索集合对象时, 利用 order by 子句进行排序
order-by 属性中还可以加入 SQL 函数