我有一个表NOTE
,它被映射到两个Java类UserNote
和SaleNote
:
abstract class AbstractNote {}
class UserNote extends AbstractNote {}
class SaleNote extends AbstractNote {}
在我的hbm
文件AbstractNote
中,我使用了discriminator
值:
<discriminator column="NOTE_TYPE_CODE" type="string" force="true"/>
以及每个子类,在hbm
文件中:discriminator-value="USER"
和discriminator-value="SALE"
。
我的问题是,是否有可能有一个映射所有笔记的通用课程?
答案 0 :(得分:0)
如果你的数据库只有NOTE
表,只有一个实体映射整个表就很简单......只需实现一个具体的类Note
并将NOTE_TYPE_CODE
映射为属性而不是鉴别
@Entity
public class Note
{
@Column(name = "NOTE_TYPE_CODE")
private String noteTypeCode;
... other columns/properties/joins/collections ...
public String getNoteTypeCode()
{
return noteTypeCode;
}
public void setNoteTypeCode(String noteTypeCode)
{
this.noteTypeCode = noteTypeCode;
}
... other getters/setters ...
}