实现对Hibernate中同一个表中另一个条目的引用

时间:2014-08-25 20:06:22

标签: mysql hibernate jpa

我在Hibernate中有以下配置:

@Entity
class Foo{

    @Id
    private Long id;

    Foo parent;

    Foo left_child;

    Foo right_child;

 }

我是否需要创建特殊注释,因为我指的是同一个表中的元素?

2 个答案:

答案 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)

您不需要“特殊”注释来映射自联接字段。使用与连接列的正常单向关联(例如ManyToOneparent)。