0

我有一个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".

我的问题是,是否有可能有一个映射所有笔记的通用类?

4

1 回答 1

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 ...
}
于 2013-10-31T11:42:19.803 回答