【发布时间】:2014-11-16 22:05:31
【问题描述】:
我有以下表格:
master_table(id, col1, col2, discriminator_col)
join_table1(m_id, v_id)
value_table1(id, val)
join_table2(m_id, v_id)
value_table2(id, val)
有一个主表和几个通过连接表连接到主表的值表。值表包含每个 master_table 行的单个标量值。来自不同值表的值被放置到后代实体中,因此有一个 MasterEntity 和几个 Child1Entity、Child2Entity 等。
我不想为每个 value_table 创建一个单独的实体,只是为每个 ChildEntity 并以某种方式将 value table 连接到该实体。
MasterEntity:
@Entity
@Inheritance(...) // not sure what type of inheritance to use
public class MasterEntity {
@Id
private int id;
private String col1;
private String col2;
}
Child1Entity:
@Entity
public class Child1Entity extends MasterEntity {
// need to get value_table1.val column here
}
我可以为 value_table 创建实体并向Child1Entity 添加多对一关系,但如果可以避免,我想这样做。
我尝试将两个辅助表(join_table1、value_table1)添加到Child1Entity,但我无法将join_table1 与value_table1 连接,只能与master_table 连接。
【问题讨论】: