我在Hibernate中有以下配置:
@Entity
class Foo{
@Id
private Long id;
Foo parent;
Foo left_child;
Foo right_child;
}
我是否需要创建特殊注释,因为我指的是同一个表中的元素?
答案 0 :(得分:2)
假设每行可以被多行引用,您应该使用@ManyToOne
注释。您可以选择使用@JoinColumn
注释定义连接列名称,例如:
@ManyToOne @JoinColumn(name="parent_id")
Foo parent;
@ManyToOne @JoinColumn(name="left_child_id")
Foo left_child;
@ManyToOne @JoinColumn(name="right_child_id")
Foo right_child;
答案 1 :(得分:1)
您不需要“特殊”注释来映射自联接字段。使用与连接列的正常单向关联(例如ManyToOne
为parent
)。