java - hibernate中特定的关系类型

标签 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 进行这种关系?我有一个想法在其中创建一个类对象。可以吗?

最佳答案

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

@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
}

关于java - hibernate中特定的关系类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27647588/

相关文章:

java - 使用spring MVC 3获取问号而不是重音字母

java - 在 hsqldb 1.8.1.3 之上基于 Hibernate 的代码的单元测试不再适用于 hsqldb 2.2.9

java - 使用 Spring 和 JPA,获取 java.lang.IllegalArgumentException : Unknown entity

java - 无法从 Java 应用程序连接到 Postgres

java - maven pom 到 gradle - 程序集插件失败

java - 如何使用java在一定时间后自动将数据存储到mySql数据库?

java - 使用对象数组对 Java 进行堆排序

java - 如何正确设置hibernate单向一对一映射

java - 如何使用带有 Spring-Boot JPA 和 Maven 的 Liquibase 来管理来自 JPA 实体的迁移

java - 何时为小型应用程序使用 Hibernate 与 Simple ResultSets