0
我有以下注釋查詢父類總是返回一個空集
@PersistenceCapable(table = "my_parent_table", objectIdClass = Myclass.PK.class, detachable = "true", identityType = IdentityType.APPLICATION)
@Inheritance(strategy = InheritanceStrategy.NEW_TABLE)
@Discriminator(strategy = DiscriminatorStrategy.VALUE_MAP, column = "discriminator", value = "0")
父類現在我所有的子類有以下標註,除了value
屬性爲@Discriminator
註釋,當然變化以及@PersistanceCapable
註釋的table
屬性除外。
@PersistenceCapable(detachable = "true", table = "my_table")
@Inheritance(strategy = InheritanceStrategy.NEW_TABLE)
@Discriminator(value = "1")
並通過一個DAO類,與@Persistence
註釋,我使用下面的方法的PoC
public List<MyParentClass> test() {
PersistenceManager pm = null;
try {
pm = getPM();
Query q = pm.newQuery(MyParentClass.class);
return (List<MyParentClass>) q.execute();
} catch (Exception e) {
log.error(e.getMessage(), e);
return null;
} finally {
pm.close();
}
}
我確定「始終查詢父類」會執行一些在日誌中可見的SQL。 – DataNucleus
@DataNucleus,謝謝。 –