我有目前这样的映射:休眠设置,并在我的实体排序问题
private Set<Sth> sths;
所以,当我使用criteria.addOrder(Order.asc(Sth.ID))
然后冬眠生成与order by id asc
查询,但在集合 的元素进行排序(我遍历它们来检查) - 我认为,在这种情况下,Hibernate会使用某种类型的有序集合实现的(我不想要的数据总是排序)。
但是,如果使用..
@OrderBy(Sth.ID)
private Set<Sth> sths;
Hibernate会产生完全相同的SQL查询,但数据进行排序这段时间。 所以我的问题是 - 它是一个错误?我正在使用休眠3.4。
使用排序依据注解是我可以接受的,但也许我不希望做这个属性总是排序,所以我宁愿给排序在条件查询指令比注解。
任何想法?它在高级版本的hibernate中是否以相同的方式工作?
请将由休眠生成的完整查询 – esmoreno
这是公司的生产代码。但看起来像这样select FIRST_ENTITY的所有 this_ left outer join SECOND_ENTITY entity_ on this_.id = entity_.id 其中 order by entity_.id asc - sql查询在两个案件 –
请参阅此链接:http://docs.jboss.org/hibernate/orm/3.3/reference/en/html/collections.html#collections-sorted – esmoreno