休眠中的特定关系

时间:2014-12-25 13:23:59

标签: java hibernate

例如,我有一个表A,结构为:

int id | int ref_id | varchar name
0            -           hello
1            0           world

实体类:

@Entity
@Table(name = "mypack.A")
public class A
{
  @Id
  @Column(name = "ID")
  private int id;

  @Column(name = "REF_ID", nullable=true)
  private int ref_id;

  @Column(name = "NAME")
  private String name;
  // getters and setters

}

id为1的行引用id为0的行。如何使用Hibernate进行这种关系?我有一个想法,在其中创建一个类对象。可以吗?

1 个答案:

答案 0 :(得分:1)

您可以使用类型为int的属性ref_id来代替另一个A对象的引用。

@Entity
@Table(name = "mypack.A")
public class A implements Serializable {

  @Id
  @GeneratedValue
  @Column(name = "ID")
  private Long id;
  @ManyToOne(cascade = CascadeType.ALL)
  @JoinColumn(name = "REF_ID")
  private A refA;
  @Column(name = "NAME")
  private String name;
  // getters and setters
}