2013-10-31 94 views
0

我有一個映射到兩個兩個Java類UserNoteSaleNoteNOTE映射表到多個子類

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

如果你的數據庫只有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 ... 
}