我在我們的應用程序中使用Hibernate3.jar。嘗試使用外鍵訪問某些對象時,我們使用集合上的order-by子句,如下所示
< set name =「children」cascade =「all-delete -orphan」懶= 「真」 順序逐= 「SORT_ORDER_ID ASC,低級(CHILD_NAME)遞增,低級(FIRST_NAME)遞增,低級(LAST_NAME)ASC」> 排序在Hibernate中的子對象時遇到.hbm文件中的命令時出現問題?
現在我有一類,其中i是使用Criteria API並強制使用連接類來獲取「children」對象,即在Criteria Api中使用fetch = join。但是當我嘗試在Criteria api中放置orderby子句時,問題就出現了。它似乎總是選擇順序從.hbm文件中的-by子句(如上面粗體顯示)並追加我的新order by子句。爲什麼它追加,爲什麼它不會忽略.hbm中的order by,而只是使用Criteria api中提到的那個。
是的,這就是我看到Criteria有addOrder而不是setOrder.Also我檢查了Hibernate論壇,它似乎是Hibernate3中的一個錯誤。使用HQL,錯誤可能會消失,正如在這些論壇中提到的那樣。但是在那裏一種使用Criteria API本身或使用某種過濾器的HBM文件的方式(我嘗試過使用它,但得到了不好的SQL語法異常) – Rajat 2009-11-10 20:35:25