簡體   English   中英

如何在Hibernate注釋映射中分隔逗號字段

[英]How to Segregate comman fields in Hibernate annotaion mapping

我在我的項目中使用基於spring 3和hibernate4.2的注釋配置,我有許多數據庫表(視圖對象/實體),其中包含兩個公共字段createdDate和updatedDate。 我想將這兩個領域分開。 我考慮將這兩個字段保留在某個類中,該類充當所有實體的超類,並使用每個子類繼承映射的表來實現。 我不需要此超類和子類實體之間的任何外鍵關系..任何人都可以通過示例向我提出更好的解決方案..謝謝。

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

摘自《 Hibernate文檔》第5.1.6.4節。 從超類繼承屬性

這種(從超類繼承屬性)有時可用於通過技術或業務超類共享公共屬性,而無需將其包括為常規映射實體(即,該實體沒有特定表)。 為此,您可以將它們映射為@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
    ...
}

不要使用@MappedSuperclass ,僅在類型實際上是超類的子類型的情況下使用它,顯然,這不是從閱讀您的問題而來的。

研究@Embedded@Embeddable ,這是您真正想要的。

教程: http//www.concretepage.com/hibernate/example-embeddable-embedded-hibernate-annotation.php

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM