JPA外键指向多个表

4
我们的数据库中有一张表格,它的结构如下:
referenceId - int foreign key to various tables
tableReference - String defining the table

这是一个好的设计吗?是否有可能映射这种关系?


清除 JPA 不提供这样的功能。您必须查看 JPA 提供者的附加组件。 - Maciej Dobrowolski
1个回答

5

这里提供的信息非常有限,无法为您提供任何解决方案,但JPA Joined Inheritance的工作原理大致如下:

@Entity
@Inheritance(strategy=InheritanceType.JOINED)
@DiscriminatorColumn(name="PROJ_TYPE")
@Table(name="PROJECT")
public abstract class Project {
  @Id
  private long id;
  ...
}

@Entity
@DiscriminatorValue("L")
@Table(name="LARGEPROJECT")
public class LargeProject extends Project {
  private BigDecimal budget;
}

@Entity
@DiscriminatorValue("S")
@Table(name="SMALLPROJECT")
  public class SmallProject extends Project {
}

这将管理数据库中的三个表,其中主要表PROJECT包含一个列PROJ_TYPE,以标识目标表。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接