簡體   English   中英

持續擴展實體(jpa)的非實體類-示例?

[英]Persisting non-entity class that extends an entity (jpa) - example?

JPA教程指出,可以有一個擴展實體類的非實體:

實體可以擴展實體類和非實體類,非實體類可以擴展實體類。 -http://java.sun.com/javaee/5/docs/tutorial/doc/bnbqa.html

是否可以堅持這樣的結構?

我想做這個:

@Entity
abstract class Test { ... }

class FirstConcreteTest extends Test { ... } // Non-ntity
class SecondConcreteTest extends Test { ... } // Non-entity

Test test = new FirstConcreteTest();

em.persist(test);

我想要做的是將所有抽象類上映射到所有具體類(第一和第二個類)的公共數據庫表的字段持久化,而第一和第二個測試類的所有字段都保持不變(這些類可以包含EJB,jdbc之類的東西)池等)。

還有一個獎金問題。 是否也可以保留抽象屬性?

@Entity
abstract class Test {

    @Column
    @Access(AccessType.PROPERTY)
    abstract public String getName();

}

class SecondConcreteTest extends Test {
    public String getName() {
        return "Second Concrete Test";
    }
}

再次閱讀該鏈接。 “實體類必須遵循以下要求:*該類必須使用javax.persistence.Entity注釋進行注釋。”

如果類是非實體,則它是非實體,因此不會作為實體持久存在。 任何可持久性都必須這樣標記,因此將您的子類標記為Entity,並將您不想持久化的字段標記為“瞬態”

暫無
暫無

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

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