2017-05-08 67 views
3

我試圖添加一些命令到我的Criteria像這樣。休眠:無效ORDER BY表達式

crit.addOrder(Order.asc("priority")); // Not the real property though 

和測試使用具有HSQLDialect一個MSACCESS數據庫,我的系統,我得到

產生的原因:org.hsqldb.HsqlException:無效的ORDER BY表達

於是,我就顯示查詢,它是這樣讀的:

Hibernate: 
/* criteria query */ select 
    distinct this_.i_id as y0_ 
from 
    T_FIT_ARTICLE this_ 
where 
    (
     this_.b_export_ready=? 
     or this_.d_application_deadline>=? 
    ) 
order by 
    this_.d_application_deadline asc limit ? 
//FROM HERE THE STACK TRACE 

事情是,我用d的@OrderBy註釋上我的收藏之前,這產生相同的查詢,這個工程:

order by 
    elements2_.i_order_nr asc limit ? 

但隨着我的實體的屬性,它會導致異常。順便說一句,如果我試圖用MYSQLSERVER測試相同的程序,它可以很好地工作。

任何想法爲什麼或如何避免這種情況?

非常感謝!

+0

你爲什麼用HSQLDB方言使用MS Access數據庫? – fredt

+0

@fredt,因爲我通過Ucanaccess連接訪問,並且ucanaccess使用這個Dialect, 否則我試過MySqlServerDialect,同樣的問題:D –

回答

0

對於任何仍然感興趣的人:問題是我設置了一個屬性的投影並設置了另一個屬性的順序。這顯然不被方言或數據庫支持。