2013-08-07 36 views
1

我在我的項目中使用基於spring 3和hibernate4.2的註釋配置,我有兩個共同字段createdDate & updatedDate的數據庫表(視圖對象/實體)的數量。 我想分離這兩個領域。我想把這兩個字段放在一些類中,它們充當所有實體的超類,並通過每個子類的繼承映射來實現這一點。我不需要這個超類和子類實體之間的任何外鍵關係..任何人都可以請示例更好的解決方案..謝謝。如何在Hibernate註解映射中分離comman字段

+0

爲什麼你需要一個更好的解決方案,這有什麼錯你的嗎? – 2013-08-07 05:19:57

+0

嘗試'@Embeddable和@嵌入式' –

回答

0

您需要使用@MappedSuperclass註釋超類。

Hibernate文檔中的第一章:5.1.6.4. Inherit properties from superclasses

(繼承父屬性)是通過技術 或業務超類共享公共屬性有時是有用的,而不包括其作爲定期映射 實體(即沒有這個實體的具體表)。爲此目的,您可以將它們映射爲@MappedSuperclass,即 。

@MappedSuperclass 
public class BaseEntity { 

    @Temporal(TemporalType.TIMESTAMP) 
    public Date createdDate; 

    @Temporal(TemporalType.TIMESTAMP) 
    public Date updatedDate; 
} 


@Entity 
class NormalEntity extends BaseEntity { 
    @Id 
    public Integer id 
    ... 
} 
+0

正是我在找...我在這裏得到了一個很好的例子[鏈接](http://docs.oracle.com/javaee/5/api/javax/persistence/MappedSuperclass .html) – Vikram

+0

@Vikram:然後自由地接受了答案 – Ralph