基本上,我的問題是一樣的,因爲這一個,但對於Java的(JBoss的)休眠:How can we order a column as int using hibernate criteria API?字符串轉換爲在Hibernate中爲了準則詮釋
我想與鑄造創建訂單限制從字符串到int柱。類似於
criteria.addOrder(Order.asc("cast(id as int)"));
異常是「無法解析屬性:cast(id爲int)of [Class]」。我已經嘗試使用int和integer轉換(as)並轉換(,)。
如果您不想指定升序或降序,則此解決方案有效,因爲在原始toSqlString方法中使用了第二個參數。如果你重寫它,你必須在你自己的字符串末尾添加asc或desc。 – KarolR 2016-07-29 05:56:15
KarolR,這就是爲什麼該方法被稱爲toSqlString。您可以按自己的意願編寫自己的訂單,但應指定整個訂單字符串。還有一個 - 總是有順序的方向,默認情況下使用「asc」,因此「cast(id as int)」實際上是「cast(id as int)asc」,但是可以跳過它。您可以指定複雜的順序,hibernate應該如何決定放置方向的位置,它被指定爲參數? – yorlin 2016-07-29 06:12:47
這確實是非常有幫助的,你只是花了很多時間來重新將我的標準代碼重構爲SQL只是爲了訂購問題。爲您的評論和答案+1。 – nihirus 2016-11-03 17:00:58