問題タブ [detachedcriteria]

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 に答える
5438 参照

hibernate - サブ基準を使用して動的なHibernate基準クエリを作成する

で注釈が付けられたフィールドを持つJavaクラスがあります@SearchCriteria(criteria = "class1.class2.field")criteria注釈内のパラメータは、クラスを使用する場合、このフィールドを休止状態の基準として設定する必要があることを意味します。これは、たとえば、フィールドが次のようにマークされている場合を意味します。

次のような休止状態の基準を動的に作成したい

問題は、すでに追加されている別の基準を設定できないことです。つまり、注釈criteriaオプションを確認する必要があります。

この「swith」を削除したいと思います。たとえば「名前」によって、すでに追加された基準を取得することは可能ですが、新しい副基準を追加することはできません。

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

hibernate - コレクション セットの Hibernate クエリの書き方

次のエンティティがあります

言語エンティティは

私の言語テーブルは次のようになります

ここに画像の説明を入力

名前がAで始まり、JavaとCを知っているすべての従業員を選択したいので、次のことを試みています

languageSet はどこにありますか

私の試みが完全に間違っていることがわかります...冬眠するのが初めてなので、誰か助けてください..

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

nhibernate - NHibernateを使用して遅延読み込みコレクションのコンテンツをフィルタリングする

私は次のようなものを含むドメインモデルを持っています:

これらのエンティティを取得するためのサービスレイヤーがあり、そのサービスレイヤーに渡される引数の中には、要求元のユーザーが誰であるかが含まれます。

私がやりたいのは、特定の顧客に返されるアイテムDetachedCriteriaを制限するサービスレイヤーを構築できるようにすることCommentです。これにより、ユーザーには、それらに属さず、プライベートとしてマークされたコメントは表示されません。

私はこのようなことをしてみました:

しかし、これは遅延ロードされたコメントには流れません。

フィルタを使用したくないのは、セッション(現在サービスレイヤーに公開されていない)と対話するか、リポジトリにユーザーコンテキストについて認識させる必要があるためです(これは、必要なロジックが多すぎるようです)。ダムレイヤー)。フィルタは、他の理由でも汚い解決策です。何が表示され、何が表示されないかを決定するロジックは、単なるプライベートフラグよりも詳細です。

コレクションをフィルタリングするためにサービスレイヤーでLINQを使用したくないのは、そうすると、遅延読み込みの利点全体が非常に悪い方法で吹き飛ばされるためです。コメントが関連していない顧客のリストは、非常に遅いデータベース呼び出しの嵐を引き起こします。プレゼンテーション層(MVCアプリ)でLINQを使用するのは、間違った場所のように思われるため、使用したくありません。

これが?を使用して可能かどうかのアイデアはありDetachedCriteriaますか?これを達成する他の方法はありますか?

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

parent-child - 子テーブルに基づく 1 対多の切り離された基準の親テーブルのフェッチ

休止状態を使用した 1 対多のマッピングで 1 つの問題があります。

PersonAddressの 2 つのクラスがあります。Person は Address (1 対多) によってマップされます。Address = "xxxx"; のすべての Person を取得します。DetachedCriteriaを使用してこのクエリを準備する方法。以下に、dao クラスのコードを追加しました。それを完了するのを手伝ってください。

Person.java

アドレス.java

私のDAO

select * from person where Address.address = "xxxx"; DetachedCriteriaを使用してこれを実装する方法は ?

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

hibernate - サブクエリ条件を使用して Hibernate の親子をクエリする

編集: 関連: https://forum.hibernate.org/viewtopic.php?f=1&t=946236&start=0しかし、まだ解決策はありません。

親子関係があります。親は文字列タグのセットをマップします。簡略化された DDL:

子テーブルには、親テーブルへの外部キーと、name という名前の varchar があります。

親クラスは子を Set としてマップします

マッピング

このsqlRestrictionクエリは、私がやりたいことを正確に実行します。

これにより、「tag1」、「tag2」、「tag3」のいずれかに一致するタグを持つすべての親オブジェクトが見つかります。

これを他のすべてのプロパティに Criteria を使用する Criteria ベースのクエリに変換する必要があります。これに対して同じことを行う方法を見つける必要があります。基本的にこれを Criterion または DetachedCriteria に変換して、より大きな式の一部

私が抱えている問題は、類似しているほとんどの例には、親と子のエンティティ クラスがあり、子クラスは正真正銘のエンティティであるということです。したがって、次のような基準を作成できます。

session.createCriteria(Parent.class, "p").createCriteria("tags").etc...

これを行おうとすると、Hibernate はマッピング例外をスローし、「タグ」が関連付けではないことを訴えます。ただし、マッピングは正しいです。親タイプを照会すると、Set 内の子タグが正常に返されます。Criteria、Subqueries、Restrictions、DetachedCriteria などを組み合わせて照会する方法がわかりません。

提案があればぜひ聞きたいです。

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

c# - NHibernate SetFetchMode がネストされた条件で機能しない

次のコードを実行すると仮定します。

私の「収入」プロパティは正しく設定されています。

収入に基準を追加すると、物件は熱心に取り出されなくなりました。

なぜNHibernateはこれを行うのですか? プロパティが積極的にフェッチされるようにクエリ/条件を変更するにはどうすればよいですか?

ありがとう。

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

linq - Castle ActiveRecord .net C# IndexOf の実装方法

IndexOf次のような順序付けとカスタムフィルタリング基準を使用して、ActiveRecord マップクラスを実装したいと思います。

これを行う最善の方法は何ですか? 次のようなlinqを使用できますか:

これは正しい SQL を提供しますか、それともすべてのアイテムをフェッチしますか?

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

hibernate - null でない基準サブクエリ

次のサブクエリを hibernate サブクエリを使用するように変換したい:

  • 従業員:

    /li>
  • デパートメント:

    /li>

いくつかの例を読んでも、まだその方法がわからないので、この変換の例を教えてください。

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

java - インターフェイスでDetachedCriteriaを使用してHibernate

Hibernate3.6.8.FinalとSpring3.0.5.RELEASEを使用して、特定のクラスを実装するために複数の実装がオーバーライドされたクラスにいくつかの共通DAO機能を追加しようとしていますが、DetachedCriteriaでは機能しません。

例:

基本クラス:

次に、継承された各プロジェクトが休止状態のアノテーションを定義します。

例えば

これは私が使用できることを意味します:

そして、Spring / Hibernateは、特定のプロジェクトの具体的な継承からICatの注釈を取得することを知っています。

しかし、私がやろうとすると:

次に、実行時にICatの不明なエンティティを取得します。

これは、最初のインスタンスがセッションから作成しているので意味があり、必要なすべての構成がありますが、DetachedCriteriaは静的メソッドですが、実行しようとするとエラーになります。

その時点でセッションを取得し、ICatが実際にはすべての注釈を持つSquawkyMeowingCatであることを知っている必要があります。

だから私の質問は2つの部分です:

1)これは既知の動作であり、これからもずっとこのようになりますか?

2)作成する必要のあるクラスのインスタンスを返す、インターフェイスと具体的なClassHolderを使用せずに、簡単な方法を考えられるでしょうか。

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

grails - Grails : HQL から DetachedCriteria クエリへ

次のドメイン モデルがあるとします。

タイトル Book に対するクエリを指定して Author のコレクションを取得する HQL クエリ:

しかし、私は DetachedCriteria または同様のものを使用して同じ結果を得ることができます (しかし、それは可能ですか?)、 Author から Book への関係を追加しません (そうでなければ、かなり明白です)

ありがとう