我有這樣的情況, 會很好,如果有人可以幫助我的解決方案。NamedQuery的一個對象,並將其與整數ID
@MappedSuperclass
public abstract class AbstractEntity implements Serializable, Cloneable {
private int id;
}
public class A extends AbstractEntity{ //Both A and B Entities will store in Table A in Database(in the same table)
//some code
}
public class B extends A{
//some fields
}
public class C extends AbstractEntity{ //Data will be Store in Table C in database and there's a column name b_id as integer to hold the id of Entity b
B b;
}
現在我有這樣的查詢在我NamedQuery
query="SELECT e FROM C e WHERE e.b= :vid"
//int vid;
問題是,JPA拋出異常原因「B」是「B」和「VID」的類型變種是整數變種。
我不能說,
query="SELECT e FROM C e WHERE e.b.id= :vid"
原因「b」爲擴展「A」和「A」是擴展AbstractEntity,這是我的想法,因爲我嘗試過了,得到了一些錯誤「參數值[601]不符合預期類型'// 601是數據庫中表'A'中實體的ID。
私有成員'id'不會被繼承類'B' – alayor
我改成了保護,但它給的我「爲實體沒有默認構造函數」的錯誤@alayor –