我有两个对象,条目和样本。每个条目都有一组相关的样本,每个样本都有一个与其相关的投票。我需要在数据库中查询所有条目,但对于每个条目,我需要相关的样本集合排序根据他们的投票属性:基于嵌套路径订购属性的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