我有兩個對象,條目和樣本。每個條目都有一組相關的樣本,每個樣本都有一個與其相關的投票。我需要在數據庫中查詢所有條目,但對於每個條目,我需要相關的樣本集合排序根據他們的投票屬性:基於嵌套路徑訂購屬性的Hibernate查詢
public Class Entry{
Set<Sample> samples;
}
public Class Sample{
int vote;
}
我想我已經進行了查詢後排序樣本名單,但事實證明這是一團糟,因爲不能在hibernate集合和java集合之間進行轉換。有人可以幫我改變我的查詢來獲得我需要的結果嗎?
List<Entry> entries = jpaTemplate.find("from Entry");
感謝您的回答和鏈接。但是,我仍然不理解如何通過查詢來構建訂單。我不想訂購我收到的結果集,我想訂購其中一個屬性的集合中的元素,它是一個集合 – 2010-01-20 22:07:43
除了你發現自己的解決方案,你自己選擇1和3也適用於集合屬性(例如樣本在你的情況)。所以你可以這樣做: session.createFilter(entries.getSamples(),「order by votes」)。list() – 2010-01-21 06:49:16
這些方法給了你更多的靈活性:你可以在不同情況下使用不同的樣本順序。但是如果你總是需要相同的順序,你的方法很棒 – 2010-01-21 06:50:37