2008-12-02 57 views
6

我有一個當前使用Hibernate映射爲數據庫表中實體的類。這個類應該被重構成一個抽象類,它包含一些對其所有子類都通用的字段。將Hibernate實體重構爲子類

我使用註釋映射休眠實體/關係類。

我想建議/變種如何做到這一點重構。

另外,關於如何將存儲在數據庫(用於將來的抽象超類)中的數據移動到具體子類之一中的一些建議。

回答

9

首先,我將創建超類並添加必要的註釋。你必須做出抉擇:每類策略

  • 每類單表層次戰略
  • 連接子類策略

我想連接子類將在這裏工作。您添加註釋:

@Entity 
@Inheritance(strategy=InheritanceType.JOINED) 

給超類。

其次,我將創建代表子類的表。請記住,這些只有子類唯一的列,共享的列將保留在超類中。然後選擇屬於每個子類的超類'表中的行並移動數據。

我不確定您是否在尋找更具體的東西?這個article解釋了Hibernate的繼承。

+0

鏈接似乎被破壞。 對於JBoss文檔:http://docs.jboss.org/hibernate/stable/annotations/reference/en/html_single/#d0e1168 – rpr 2010-05-06 11:08:19

相關問題