我有目前這樣的映射:休眠設置,並在我的實體排序問題
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