【发布时间】:2014-08-08 10:22:26
【问题描述】:
我们在数据库中有一个表,其结构如下:
referenceId - int foreign key to various tables
tableReference - String defining the table
这是好的设计吗?是否可以映射这种关系?
【问题讨论】:
-
Clear JPA 不提供此类功能。您必须查看 JPA Providers 附加组件。
我们在数据库中有一个表,其结构如下:
referenceId - int foreign key to various tables
tableReference - String defining the table
这是好的设计吗?是否可以映射这种关系?
【问题讨论】:
这是非常少的信息,可以为您提供任何解决方案,但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 以标识目标表。
【讨论】: