Hibernate双向关联

时间:2016-04-06 09:15:26

标签: hibernate bidirectional

inverse="true"constrained="true"之间有什么区别?

是不是都用于使关联双向? 也不是都添加了连接2个表中主键的外键约束?

我很困惑。请指导我。

1 个答案:

答案 0 :(得分:1)

约束用于延迟加载一对一关系。因为它们是由共享主键实现的,所以NHibernate在获取它之前不知道另一个表中是否有记录。有了约束,你告诉NHibernate总是有一个预期的记录,所以它可以创建一个代理。请参阅this blog post from Ayende Rahien

使用inverse,你告诉NHibernate许多方已经存储了一对多的关系,所以它不需要在一侧存储集合。我试着在这里解释一下:When to use inverse=false on NHibernate / Hibernate OneToMany relationships?