`
huiqinbo
  • 浏览: 334980 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

hibernate 配置文件分析[回钦波]

阅读更多

Inverse:可选,意为“反转”,用于表示双向关联中的被动一端。在关联关系中,inverse=false”的一方为主控方,负责维护关联关系,它的默认值是“false”。

例:memberorder是一对多关系。

Member.hbm.xml的配置文件中

<set name=orders order-by=order_idcascade=alllazy=trueinverse=true>

    <key column=member_id/>

    <one-to-many class=Order/>

</set>

1.Inverse=true”表示Member不再作为关系的主控方,而由Order做主控方负责维护关系。这样在Order对象持久化时,它会主动去获取相关的Mememberid,作为自己的member_id.(在一对多关系中一般将多的一方设置为false,即关系的主控方,这将有助于改善性能)。

2.Cascade:如上对Membercascade设置为all,表明对member对象的任何操作都会对与member对象相关联的order进行同样的操作。

3.lazy="false" 打个比方吧,某条记录里面有一个字段是外键,如果lazy="false"的话就会把外键中的字段也找出来,这样如果外键多的话,很可能搜索一条记录就会连带拉出很多子记录。但是有时候我们要的只是一条记录,于是就可以设置lazy="true",这样就不会把子记录也一起带出来了。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics