2017-05-08 12 views
3

私はCriteriaにこのような注文を追加しようとしました。Hibernate:無効なORDER BY式

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

とテストHSQLDialectとMSACCESSのデータベースを使用して、私のシステム上、私はによって引き起こさ

取得:org.hsqldb.HsqlException:BY式に無効なORDERを

は、だから私はしようとしましたクエリを表示すると、次のようになります。

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

なぜMS AccessデータベースをHSQLDB方言で使用していますか? – fredt

+0

@fredt私はUcanaccess経由でアクセスするので、ucanaccessはこのDialectを使用します。 そうでなければ、MySqlServerDialect、同じ問題を試しました:D –

答えて

0

まだ興味がある人のために:問題は私が属性の投影を設定し、別の属性の注文を設定したことです。これは明らかにDialectやデータベースではサポートされていません。