[英]Java Hibernate field access property or property based access
我正在對遺留系統進行一些改進,但需要一些時間
我有這樣的課
class MyPersistentClazz
{
private String aTPlace;
public void setATPlace(.......){......}//yes mistyping
@Column(name="atPlaceOrder")
public String getATPlace(){return aTPlace;}
}
他們通常使用這種方法加載此類
final MyPersistentClazz clazz = (MyPersistentClazz)session.createCriteria(MyPersistentClazz.class).add(idEq(id)).uniqueResult();
並使用load和get方法,效果很好。
但是當我使用投影時會出現問題。
final Projection p=Projections.projectionList().add(Projections.property("d.aTPlace"),"aTPlace");
投
Exception in thread "main" org.hibernate.QueryException: could not resolve property:
我的問題是
當我使用投影時,我認為Hibernate正在調用每個屬性的setter,這個斷言可以嗎?
使用criteria.uniqueResult或加載或獲取休眠時使用單個字段屬性訪問?
或為什么與某些人一起工作而不與同一設置員一起工作?
我們僅使用注釋而不使用XML。
非常感謝。
Hibernate如何與您的bean一起使用取決於您對其進行注釋的方式。 如果您注釋實例變量,則Hibernate將使用直接注入並繞過Set方法。 否則,它將使用您的Set方法。
可能是因為您將屬性名稱錯誤地轉換為Set方法名稱嗎? 嘗試將屬性名稱更改為更簡單的名稱(不要使用該系列的大寫字母),並確保投影中屬性的大小寫正確。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.