問題タブ [criteriaquery]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
4304 参照

hibernate - JPA CriteriaQuery が更新クエリを提供しないのはなぜですか?

JPA2.0 の CriteriaQuery は、選択を行うためのタイプ セーフな方法を提供します。これは素晴らしいことです。しかし、なぜ更新/削除操作を提供しないのでしょうか? 一括更新/削除するには、エラーが発生しやすい SQL または JPQL テキストを記述する昔に戻る必要があります。IMO、更新/削除の CriteriaQuery は、原因の処理が select と同じであるため、難しくはないはずです。

これがJPAの次のバージョンで実装されることを願っています。

0 投票する
1 に答える
13080 参照

java - jpa基準は、フェッチされたリスト内の重複値を照会します

基準クエリを使用してリスト属性をフェッチするときに、JPA 2 で予期しない動作と思われるものを観察しています。

私のクエリは次のとおりです(抜粋):

(つまり、オブジェクトのプロパティのプロパティとしてリストを取得しているとしましょう。)

問題は、クエリが複数の結果を返す場合、行が返される回数だけ secondFetch の値が複製されることです。各firstFetchには、 secondFetchを 1 つだけ指定する必要がありますが、代わりにnを指定します。この場合の唯一の特徴は、すべての MainObjectsがたまたま同じ FirstFetch インスタンスを持っていることです。したがって、私の推測では、通常は結合が交差していますが、JPA はそのsecondFetchオブジェクトを firstFetchs のそれぞれ割り当てることができません。

マッピングはあまり特別であってはなりません。多かれ少なかれこのようなものです

& 最後に

フェッチに適用するある種の明確な文を探していましたが、何もありません(とにかく「パッチ」だったでしょう...)

私が変われば

為に

Sets' Keysのおかげで期待どおりの結果が得られるので、これは JPA のリストでは一種の不正行為であると感じています。

ただし、私は専門家ではないので、マッピングやクエリで間違いを犯している可能性があります。これを解決するために、どんなフィードバックでも大歓迎です。ありがとう。

0 投票する
2 に答える
363 参照

java - JPA CriteriaQuery には begin() と commit() が必要ですか?

JPA の CriteriaQuery ベースのクエリに関して、簡単な質問がありますか? Java EE の例 (http://docs.oracle.com/javaee/6/tutorial/doc/giqsq.html) で気付きました。

使用されません。

その結果、これらの操作は、クエリが作成されたときに CriteriaQuery によって暗黙的に処理されるというのは本当ですか?

0 投票する
2 に答える
1362 参照

java - JPQL Criteria Query PlayFramework1x内部結合とWhere句の構築

JPAで次のSQLクエリを作成しようとして立ち往生しています(JavaとJPAはまだ新しいので、かなり検索しましたが、まだ取得できません。初心者の質問の場合は申し訳ありません)。

私が望んでいることをほぼ実行し、機能するJPQLクエリ

SentenceとWordはどちらもクラスですSentenceWordは、SentenceとWordの間のManyToMany結合です。つまり、s.wordsはセンテンスに属するリストです。s.Dateは、スタッフデータを格納するImportオブジェクトです。import:dateは、照合する単一のImportです。:wordsは、文中でチェックしたい単語のリストです。

このクエリは、IN演算子に対しては問題なく機能します。

ただし、現在、センテンスに、渡すリスト内のすべての単語が含まれているかどうかを確認する必要があります(s.wordsリストからアセンブルします)。

現在、文字列ビルダーとFOREACHループを使用してWHEREAND句を手動で作成し、それらを文字列に追加してクエリを使用しています。それは動作しますが、それは非常に醜く、一見反Javayであり、私はそれを正しい/タイプセーフな方法でやりたいと思っています。

CriteriaBuilderとCriteriaQueryを見つけましたが、INNERJOINを機能させることができませんでした。まったく。そして悲しいことに、それは私がRTFMした後です。http://docs.jboss.org/hibernate/orm/4.0/hem/en-US/html/querycriteria.html#querycriteria-from-join

動的なWHEREANDクエリの場合、これは私が得た限りです

しかし、それはすべて間違っているように思われ、参加できないため、テストできません。誰かが私を単純な人々の結合とコレクションをループしてAND句を作成するためのCriteriaQueryチュートリアルの正しい方向に向けることができれば、またはこの例で正しいクエリを書き出すことができれば、私は非常にありがたいです!

更新-クエリの効率

代替のJPQLクエリは次のようになります。

Group ByはJQPLで必要とされているようですが、SQLの同じクエリでは必要ありません。私は今小さなデータセットを持っているので、両方とも非常に高速ですが、一方が他方よりも優先されるかどうか興味があります。

また、クエリを使用してパラメータを設定していますが、これらに使用するより良いクラスはありますか?名前付きの用語の方が?よりも好きです。

0 投票する
1 に答える
1593 参照

java - 複数のカスケード結合が関係する条件クエリ

次の 3 つのエンティティがあります: BlockViewおよびTargetBlock次の SQL の JPA 基準クエリを作成します。

ブロックには多くのビューと多くの がありTargetBlocksます。

0 投票する
1 に答える
4830 参照

java - エンティティのリストの CriteriaBuilder および isMember (Hibernate)

さて、私はかなり奇妙なことをしようとしています。CriteriaBuilder と CriteriaQuery を使用して、エンティティのコレクションに特定のオブジェクトを含むすべてのエンティティを返そうとしています。私はこれに対して何時間も頭を悩ませてきましたが、関連するドキュメントはほとんどなく、特に役に立ちません。どんな助けでも大歓迎です。

関連するクラスの抜粋は次のとおりです。

したがって、基本的に、特定のタグを含むエントリを見つけることができる必要があります。これが私が行っていた唯一の改良であった場合、非常に簡単に実行できることはわかっていますが、同じ CriteriaQuery に対して他にも多くの改良が行われており、どの改良が行われるかについての保証はありません。

バックエンドについて本当に知りたい場合は、http://pastebin.com/QJnkYRRhをご覧ください。それは恐ろしいコメントのない混乱です。

0 投票する
0 に答える
420 参照

count - JPA2としてのSQL。MAX()、GROUP BY、ORDER BY、LIMIT、および FOUND_ROWS() を使用して JPA2 で CriteriaQuery を作成する方法

MySQL では、2 つの SQL ステートメント (実行) で、目的の列、グループ、および順序レコードの最大値を選択し、結果を制限し、合計行数を取得できます。

250 件のレコードから合計 24 件が選択されますが、これは正しいです。(24 のユニークなクラス)

グループ化されたレコードを選択できますが、合計数を取得する方法がわかりません。また、結果は List< List< Student > + MAX(age) > となります。ただし、groupBy と max() を使用しないと、期待どおりに List< Student > が生成されます。

リストとしてJPA2で同じ結果を得ることは可能ですか?

0 投票する
1 に答える
2676 参照

jpa - CritieraQuery を使用して交差クエリを取得する方法は?

与えられた

特定のタグのコレクションでタグ付けされたすべてのドキュメントを検索します。基本的に、次のものに相当するEclipseLink:

ただし、JPA CritieraQuery を使用します。