簡體   English   中英

Hibernate Criteria API - 如何獲取對象屬性列表

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM