2011-08-05 18 views
0

有3類這裏:如何用jpa(hibernate)獲取分類對象?

abstract class AbstractClass{@Column("type") public int type;......} 
class A extends AbstractClass{......} 
class B extends AbstractClass{......} 
在數據庫中,當

類型= 1裝置A和類型= 2表示B.那麼,如何可以取這些對象作爲抽象類,和具體類是A型時= 1和B類型= 2時?

非常感謝。

回答

1

這取決於你的數據庫結構。如果您爲整個班級層次使用一張桌子,請查看table per class hierarchy上的冬眠文檔。如果您使用一個表來存儲AbstractClass中的公共字段併爲每個子類存儲一個表,那麼可以查看Mixing table per class hierarchy with table per subclass上的文檔。在這兩種情況下,它歸結爲定義一個descriminator(在你的情況下,類型欄)。

+0

thx非常多。我會試試看。 – Gang

+0

我的榮幸。不要忘記報告它是如何去的,並在適當的時候給予答案/ upvote。 – joostschouten

0

您需要使用「每個類層次結構的一個表」繼承映射,如here所述。鑑別器列的顯式映射是可能的,但不是強制性的。