递归关系,我有下面的类:坚持与Java的Hibernate的
public class MyItem {
private Long id;
private String name;
private Set<MyItem> similarItems = new HashSet<MyItem>();
// constructors
// getters & setters
}
这意味着MyItem的实例包含同一类的其他项目的引用。
我已经创建了下面的列如下表:
[MyItem]:
id
name
[MyItemRelations]:
myItemId References MyItem
myItemSimilarId References MyItem
所以,我有两个问题:
- 是我表的结构是否正确?
- 我的.hbm.xml应该如何?我不知道如何实现这个关系。
这些表看起来正确。你想通过xml来完成配置还是使用注释对你也好?有了注解,你可以在关系中添加一个@ ManyToMany,我猜想多个项目也可以引用相同的项目,因此在这里产生一个n:m的关系。 – Thomas 2012-02-07 21:26:58
我想通过.hbm.xml进行制作 – davs 2012-02-07 21:29:44
这确实看起来像人们用来表示对象图形的关系模型。处理图形时的关系性能相当差,特别是随着节点和边的数量增长。你可能想使用一个实际的图形数据库,比如Neo4j。 – cdeszaq 2012-02-08 13:16:09