nhibernate inverse总结

最近关注了一下nhibernate的inverse属性,网上各种资料众说纷纭,但是感觉多少有点差入,这里总结下自己实践所得结论

inverse的真正作用就是指定由哪一方来维护之间的关联关系。当一方中指定了“inverse=false”(默认),那么那一方就有责任负责之间的关联关系,说白了就是hibernate如何生成Sql来维护关联的记录! 

在one to many的默认配置中,是由one放来维护关系,步骤:insert one ->insert many -> update many foreign key。

如果inverse设置为true,步骤 insert one ->insert many,这种情况下双方维护关系是交由many端的,所以需要many端在保存之前需要有one的引用,这样才能保证外键不为空

many to many 同理

由于inverse默认状态下会多一步更新,所以应该使用inverse=true来映射关系

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。