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来映射关系

posted @ 2014-12-06 11:22  文学骑士  阅读(131)  评论(0)    收藏  举报