Hibernate自引用映射拼图

时间:2011-03-23 19:08:48

标签: java hibernate mapping bidirectional

我正在尝试映射一个类

Class Node {
Node parent;
List<Node> children;
}

我尝试了多对一和多对多的各种组合,但似乎没有任何效果。我会粘贴我的映射文件,但我已经尝试了很多东西,我不知道要粘贴哪一个。请帮助我:(如果我使用SET而不是LIST,我也成功映射了类,但是当我使用list时,我无法更新用于存储列表索引的列。非常感谢

1 个答案:

答案 0 :(得分:2)

您无法直接更新列表索引,因为它是通过检查对象在父级子列表中的位置得出的。如果一个对象在列表中的索引10处,并且list-index属性设置为5,那么Hibernate应该使用哪个?

所以通常你告诉Hibernate用什么列来存储列表索引,然后忘记它。

但是,如果您想要将list-index属性映射到您的对象以便直接访问它(以只读方式,例如getIndexInList()),您必须将其映射到{ {1}}。

我对XML映射有点生疏,但这里有一些我认为可行的东西。如果您遇到问题以及收到的错误消息,请告诉我。

insert=false update=false