14

数日前に Criteria API を使用したコレクションのクエリに関する質問を投稿しました。すべての回答の後、私が試みていることは Criteria では不可能であることがわかりました。nhibernate と hibernate の状況にバグがあります。

私は DetachedCriteria を使用してすべての基準をまとめていましたが、リストは非常に長くなります。チェーンの最後の円はバグのある基準なので、すべての分離基準を HQL に変更する必要があります。

私の質問は、Criteria を HQL に変換するツールまたは方法があるかどうかです。

また

Criteria と Hql を連携させる方法はありますか?

nhibernate のバグに関する記事

4

4 に答える 4

3

hibernate フォーラムからの再投稿... nhibernate に関連するものか最新のものかはわかりません


from: max Hibernate チーム

投稿日: 2006 年 12 月 24 日 (日) 午前 7:12

基準が HQL に変換されるのは非常に頑固な民間伝承です。基準は SQL に直接渡されますが、プログラムで取得するための直接の公開 API はありません。

...

2 回翻訳するのはあまり効率的ではありません ;)

http://forum.hibernate.org/viewtopic.php?t=968990&view=next&sid=50454aa6cec8d482198117fbd398ca70

于 2009-02-17T03:45:44.810 に答える
3

この問題についてAyende Rahienにメールを送信し、返信してくれてありがとう.

答えは、そのようなツールはないということですが、通常、変換は非常に簡単です。

于 2009-02-17T11:39:48.650 に答える
0

Hibernate Criteria API を変更して、ほとんど同じインターフェースを維持しようとすることで JPQL クエリを生成しました。私のプロジェクトの名前は Criteria2JPQL です:

https://sourceforge.net/projects/criteria2jpql/

この変換は、標準の JPQL クエリを生成する単純なメモリ内操作であるため、パフォーマンスに大きな問題はありません。一方、このプロジェクトのアイデアは、多くの不要な結合を含む Hibernate Critera のパフォーマンスの低いネイティブ sql クエリから生まれました。私の会社のプロジェクトで Criteria2JPQL を使用した経験があり、これらの不要な結合が消えたことを観察しました。

于 2010-07-10T20:15:06.977 に答える