2011-12-08 66 views
1

我:冬眠@Column僅列存在

@MappedSuperClass 
public class A{ 

    private int boo; 

    @Column(name = boo) 
    public int getBoo(){ 
     return boo; 
    } 

    public void setBoo(int boo){ 
     this.boo = boo; 
    } 
} 

的問題是,列「噓」可能不適合所有表存在。是否有可能註釋getBoo(),如果該列不存在,它會保持'boo'爲空?

回答

3

也許這裏最好使用繼承,我的意思是class AWithBoo extends A

1

明確的答案是:不,你不能這樣做。你應該重新考慮你的設計。爲什麼不使用繼承並將boo移到派生類?

順便說一句:如果你能設置噓就像你在你的問題描述爲null,則int boo將與NPE爆炸;)

1

在工作中我們還挺有同樣的問題:所使用的27應用程序國家。所有這些coutry都希望擁有自己的功能,以及他們自己的db列。

在JPA /休眠這是不可能做到這一點。您必須爲所有國家共享相同的實體屬性,這意味着要爲許多國家創建無用的列,並按國家/地區處理數據庫約束。