[英]Hibernate Criteria API - How to get a list of an object attribute
我有兩節課
class House {
String id
Long size
Resident resident
}
class Resident {
String id
String name
}
我想要的是一份居民名單,但我需要對房子進行一些限制。 大小 eq > 20 上的 eq 並將結果限制為 10
居民沒有提到房子。
我真的不知道如何繼續下去。
我試過這個:
Criteria crit = session.createCriteria(House.class);
crit.add(Expression.ge("size", 20));
crit.setMaxResults(10);
crit.addOrder(Order.desc("size"));
return crit.list();
但我不知道如何連接到居民
嘗試以下代碼:
Criteria crit = session.createCriteria(House.class);
crit.add(Expression.ge("size", 20));
crit.setMaxResults(10);
crit.addOrder(Order.desc("size"));
crit.setFetchMode("resident", FetchMode.JOIN);
crit.setProjection(Projections.property("resident"));
return crit.list();
“居民沒有對房子的引用” - 當沒有關聯時,AFAIK 休眠標准無法對來自給定條目的另一個條目創建限制。
所以你不能為Resident.class
創建一個Criteria
並在那里添加Restriction
。
您可以嘗試為您的House.class
創建一個Criteria
,添加所需的Restriction
,然后設置一個Projection
以獲取您的Resident.class
實例。
你都嘗試了些什么?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.