【问题标题】:JPA foreign key to multiple tables多个表的 JPA 外键
【发布时间】:2014-08-08 10:22:26
【问题描述】:

我们在数据库中有一个表,其结构如下:

referenceId - int foreign key to various tables
tableReference - String defining the table

这是好的设计吗?是否可以映射这种关系?

【问题讨论】:

  • Clear JPA 不提供此类功能。您必须查看 JPA Providers 附加组件。

标签: java database jpa


【解决方案1】:

这是非常少的信息,可以为您提供任何解决方案,但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 {
}

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

【讨论】:

    猜你喜欢
    • 2021-06-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多