我有一个实体来持有选择域,例如对于下拉框:
@Entity
public class Selection {
@Id
private long id;
private String category;
private long index;
private String text;
}
相应的表格包含多个类别的条目:
ID Category Index Text
-----------------------------------
1 Status 1 New
2 Status 2 Active
3 Status 3 Obsolete
4 Type 1 Simple
5 Type 2 Complex
[...]
现在我有实体应该映射选择的特殊类别:
@Entity
public class EntityWithStatus {
@Id
private long id;
@JoinColumn(name="status_id", referencedColumnName="index", nullable=false)
private Selection status;
}
状态“新建”具有索引1,但此索引也适用于“简单”类型。我不想映射到Selection的主键。有没有办法将此映射限制为特定类别?
我找到的一种方法是使用继承,使用类别作为鉴别器。但这意味着我必须为每个类别添加实体/类。我想阻止那个...