問題タブ [hibernate-criteria]

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 投票する
2 に答える
5544 参照

hibernate - Hibernate Criteria - ネストされた子をフィルタリングする方法は?

以前の質問の言い回しが悪かったのではないかと心配しているので、明確にするために新たに始めています。

各テーブル間に OneToMany 関連付けが存在する多数のテーブルを想像してください。Farm -> Field -> RegionGroup -> Region . Region.nutritionでフィルタリングする Criteria クエリを作成しようとしています。最上位レベルの属性でフィルタリングし、場合によっては次のレベルを下回っている人々の例をたくさん見てきましたが、4 層の深さでフィルタリングするときにクエリを作成する方法がわかりません。現時点ではこれがありますが、機能しません。

何が起こるかというと、目的の結果を正しくカバーするプライマリ SQL クエリが生成されます (取得する必要があるデータのセットとまったく同じです)。ただし、返されたオブジェクトを反復処理すると、RegionGroup -> Regionの関連付けが制限を含まない各反復のサブクエリなので、 RegionGroup の値に関係なく、 RegionGroup のすべてのRegions取得ます。

関連付けパス「fields.regionGroups.regions」に対して指定された制限を適用するには、何を追加する必要がありますか?

EDIT:次のHQLは私が求めていることを行いますが、私が求めている定義の柔軟性がないため、基準クエリに変換したいと思います。

List<Farm>このように反復できる出力が得られます。

では、これを Criteria クエリとして指定するにはどうすればよいでしょうか。やりたいことを実行していることを証明するために、単純に HQL を変更して Region.nutrition の制限を削除すると、RegionGroup ごとにすべての Region が返されます。

結果を反復するコードに変更を加えることなく、次のようになりました。

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

hibernate - 関連エンティティの主キーを使用して結果をフィルタリングするHibernate基準クエリ

私たちのシステムでは、データベースは次のようになります

1つのエージェンシーには多くのブローカーがあり、1つのブローカーには多くのユーザーがいて、1つのユーザーには多くの注文があります。

Hibernate基準を使用して、指定された証券会社のユーザーのすべての注文を検索しようとしています。プレーンSQLでは、これは非常に簡単です。基準APIでこれを行うことはできますか?条件APIは、クリックアンドフィルタータイプのuiを使用する場合に特に効果的であることがわかりました。これは、順序付けされていない制限のリストを作成して、それらを基準に追加できるためです。

現在、これは機能しません

「原因:org.hibernate.QueryException:プロパティを解決できませんでした:user.brokerage of:com.printlogix.rp.server.domain.UserOrder:」というメッセージが表示されます。

「object.parentobject.property」のようなパラメータ名をRestrictions.eqに渡すことはできますか?

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

hibernate - Hibernate基準クエリ

私は次のクエリSQLクエリを持っています:

これは私がこれまでに書いたものです:

最初の角かっこ内に「and」と「or」を書くにはどうすればよいですか?

0 投票する
4 に答える
16676 参照

java - 子供に制限のある休止状態の基準

1つのSQLステートメントで実行したいHibernate基準呼び出しがあります。私がやろうとしているのは、外部結合を使用して子をロードしているときに、値の範囲(SQL IN句)のプロパティを持つ子を持つParentのインスタンスを選択することです。これが私がこれまでに持っているものです:

サンプルデータは次のとおりです。

私がやりたいのは、子の1つが私のバインドパラメータと等しいプロパティを持っている場合、親とそのすべての子を返すことです。プロパティが{2}を含む配列であると仮定しましょう。この場合、呼び出しは親AとCを返しますが、それらの子コレクションには要素2のみが含まれます。つまり、Parent [Children]:

A [2]&C [2]

私が欲しいのは:

A [0、2、7]&C [1、2 3]

これがバグでない場合は、セマンティクスが壊れているようです。A.getChildren()またはC.getChildren()を呼び出して、1つのレコードを返すことが正しいと見なされる方法がわかりません。これは、予測ではありません。つまり、デフォルトのselectフェッチを使用するようにクエリを拡張すると、適切な子コレクションが返され、多数のクエリが返されます。

これはバグですか?そうでない場合、どうすれば希望の結果を達成できますか?

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

hibernate - ジャンクションテーブルの Hibernate 基準 - 作成方法は?

次のような3つのテーブルがあります。

商品名
-----------
id

カテゴリー
----------
id

product_category
.----------------------
p_id
c_id

製品のカテゴリが id=3 である製品のリストを取得したいと考えています。これを書く方法について混乱していますhibernate criteria。どんな助けでも大歓迎です。

ありがとう

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

java - 次の SQL の基準は何ですか?

次のクエリの基準を教えてください。

私は次の基準で試しています

上記の条件により、両方のテーブル データが取得されます。

また、TableA の特定の列のみが必要な場合、基準はどのように変更されますか?

御時間ありがとうございます。

編集: TableA は TableB と 1 対多の関係にあります。

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

hibernate - HIbernate Criteria Restrictions.in

Restrictions.in を使用しているときに Hibernate Criteria に問題があります。制限に送信されたリストに値が含まれていない場合、SQL GrammerException がスローされます。これは、クエリが次のようになるためです。

select * from Person p where p.id in ()

Hibernate ログのエラー ---

Spring ログのエラー...

そして、それを引き起こしているコードは

これをやってみましたが、テーブル内のすべての値が返されます。これは、私が望むものとは完全に反対です..リストサイズが0の場合、何も返されません..

リストに例外ではなく値が含まれていない場合にクエリから結果が得られないようにするには、ここでどのような変更を加える必要がありますか...事前に感謝します!

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

java - Hibernate 基準クエリのインターセプト

データベースから情報を取得するために Hibernate SessionFactory を使用しています。問題は、以下の「encrypted_field」データベース フィールドが暗号化され、SQL クエリが壊れることです。

これは、Hibernate に変換しようとしている古い SQL クエリです。

Hibernate でこれを修正する方法はありますか? Hibernate が「order by」基準を ResultSet に適用する直前に「encrypted_field」を復号化できる Hibernate Interceptor を考えています。これは可能ですか?

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

java - Hibernate:この基準をHQLに書き換えるにはどうすればよいですか?

HQLを作成したいのですが、会社に名前の付いた人(従業員)がいるかどうかを調べます。私は基準でそれを行うことができました:

さて、HQLについても同じようにお願いします。名前付きクエリを使用していますが、名前付きクエリのパラメータとして配列または文字列のリスト(またはその他)を渡す方法に問題があります。これが私の試みですが、ATMでは機能しません。

ClassCastExceptionが発生します

query-param名に間違ったタイプを指定したため、これは正常です。何を置けばいいのかわからない:/

このサービスをよりよく理解するためのテストケース:

つまり、「jon」または「josh」のいずれかがsomeCompanyで機能するということです。

手伝ってくれてありがとう

編集

JB Nizetは、service.namesInCompanyのコードを提案しました。ここにあります:

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

grails - GORM:ilkeとinListの組み合わせ

Grailsでは、DynamicFinderを使用して、ilikeとinListを使用してクエリを実行するにはどうすればよいですか?または、CriteriaBuilderを使用してilikeとinListを組み合わせることができますか?ありがとうございました!