[英]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.