我有一个实体 A ,其中包含 Id 和 ParentId 列。
目前我正在使用多对一关系<many-to-one name="Parent" column="ParentID" />
映射它。
父属性的类型为 A 。换句话说, Parent 是 A 的对象。
基本上问题是属性“Parent”总是 null ,但这是不正确的,因为数据库已为 ParentID 分配了正确的标识符。
怎么了?
谢谢!
更新
我得到了一个暗示。事实上,我有另一个实体来映射 A 的许多实例。
如果我得到另一个拥有 A 集合的实体,那么 A 实体会卸载其 Parent 属性。另一方面,如果我通过 Id 获得 A , Parent 会按预期加载。
然后是其他映射:
<set name="Fields" table="A" cascade="all-delete-orphan" lazy="false">
<key column="AID" />
<one-to-many
class="A"
/>
</set>
答案 0 :(得分:1)
那应该有用。确保在ParentId到Id上有外键约束,并且可以尝试将class =“A,Assembly”添加到多对一映射中以显式化。