問題タブ [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.
hibernate - サブ基準を使用して動的なHibernate基準クエリを作成する
で注釈が付けられたフィールドを持つJavaクラスがあります@SearchCriteria(criteria = "class1.class2.field")
。criteria
注釈内のパラメータは、クラスを使用する場合、このフィールドを休止状態の基準として設定する必要があることを意味します。これは、たとえば、フィールドが次のようにマークされている場合を意味します。
次のような休止状態の基準を動的に作成したい
問題は、すでに追加されている別の基準を設定できないことです。つまり、注釈criteria
オプションを確認する必要があります。
この「swith」を削除したいと思います。たとえば「名前」によって、すでに追加された基準を取得することは可能ですが、新しい副基準を追加することはできません。
hibernate - コレクション セットの Hibernate クエリの書き方
次のエンティティがあります
言語エンティティは
私の言語テーブルは次のようになります
名前がAで始まり、JavaとCを知っているすべての従業員を選択したいので、次のことを試みています
languageSet はどこにありますか
私の試みが完全に間違っていることがわかります...冬眠するのが初めてなので、誰か助けてください..
nhibernate - NHibernateを使用して遅延読み込みコレクションのコンテンツをフィルタリングする
私は次のようなものを含むドメインモデルを持っています:
これらのエンティティを取得するためのサービスレイヤーがあり、そのサービスレイヤーに渡される引数の中には、要求元のユーザーが誰であるかが含まれます。
私がやりたいのは、特定の顧客に返されるアイテムDetachedCriteria
を制限するサービスレイヤーを構築できるようにすることComment
です。これにより、ユーザーには、それらに属さず、プライベートとしてマークされたコメントは表示されません。
私はこのようなことをしてみました:
しかし、これは遅延ロードされたコメントには流れません。
フィルタを使用したくないのは、セッション(現在サービスレイヤーに公開されていない)と対話するか、リポジトリにユーザーコンテキストについて認識させる必要があるためです(これは、必要なロジックが多すぎるようです)。ダムレイヤー)。フィルタは、他の理由でも汚い解決策です。何が表示され、何が表示されないかを決定するロジックは、単なるプライベートフラグよりも詳細です。
コレクションをフィルタリングするためにサービスレイヤーでLINQを使用したくないのは、そうすると、遅延読み込みの利点全体が非常に悪い方法で吹き飛ばされるためです。コメントが関連していない顧客のリストは、非常に遅いデータベース呼び出しの嵐を引き起こします。プレゼンテーション層(MVCアプリ)でLINQを使用するのは、間違った場所のように思われるため、使用したくありません。
これが?を使用して可能かどうかのアイデアはありDetachedCriteria
ますか?これを達成する他の方法はありますか?
parent-child - 子テーブルに基づく 1 対多の切り離された基準の親テーブルのフェッチ
休止状態を使用した 1 対多のマッピングで 1 つの問題があります。
PersonとAddressの 2 つのクラスがあります。Person は Address (1 対多) によってマップされます。Address = "xxxx"; のすべての Person を取得します。DetachedCriteriaを使用してこのクエリを準備する方法。以下に、dao クラスのコードを追加しました。それを完了するのを手伝ってください。
Person.java
アドレス.java
私のDAO
select * from person where Address.address = "xxxx"; DetachedCriteriaを使用してこれを実装する方法は ?
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 などを組み合わせて照会する方法がわかりません。
提案があればぜひ聞きたいです。
c# - NHibernate SetFetchMode がネストされた条件で機能しない
次のコードを実行すると仮定します。
私の「収入」プロパティは正しく設定されています。
収入に基準を追加すると、物件は熱心に取り出されなくなりました。
なぜNHibernateはこれを行うのですか? プロパティが積極的にフェッチされるようにクエリ/条件を変更するにはどうすればよいですか?
ありがとう。
linq - Castle ActiveRecord .net C# IndexOf の実装方法
IndexOf
次のような順序付けとカスタムフィルタリング基準を使用して、ActiveRecord マップクラスを実装したいと思います。
これを行う最善の方法は何ですか? 次のようなlinqを使用できますか:
これは正しい SQL を提供しますか、それともすべてのアイテムをフェッチしますか?
hibernate - null でない基準サブクエリ
次のサブクエリを hibernate サブクエリを使用するように変換したい:
従業員:
/li>デパートメント:
/li>
いくつかの例を読んでも、まだその方法がわからないので、この変換の例を教えてください。
java - インターフェイスでDetachedCriteriaを使用してHibernate
Hibernate3.6.8.FinalとSpring3.0.5.RELEASEを使用して、特定のクラスを実装するために複数の実装がオーバーライドされたクラスにいくつかの共通DAO機能を追加しようとしていますが、DetachedCriteriaでは機能しません。
例:
基本クラス:
次に、継承された各プロジェクトが休止状態のアノテーションを定義します。
例えば
これは私が使用できることを意味します:
そして、Spring / Hibernateは、特定のプロジェクトの具体的な継承からICatの注釈を取得することを知っています。
しかし、私がやろうとすると:
次に、実行時にICatの不明なエンティティを取得します。
これは、最初のインスタンスがセッションから作成しているので意味があり、必要なすべての構成がありますが、DetachedCriteriaは静的メソッドですが、実行しようとするとエラーになります。
その時点でセッションを取得し、ICatが実際にはすべての注釈を持つSquawkyMeowingCatであることを知っている必要があります。
だから私の質問は2つの部分です:
1)これは既知の動作であり、これからもずっとこのようになりますか?
2)作成する必要のあるクラスのインスタンスを返す、インターフェイスと具体的なClassHolderを使用せずに、簡単な方法を考えられるでしょうか。
grails - Grails : HQL から DetachedCriteria クエリへ
次のドメイン モデルがあるとします。
タイトル Book に対するクエリを指定して Author のコレクションを取得する HQL クエリ:
しかし、私は DetachedCriteria または同様のものを使用して同じ結果を得ることができます (しかし、それは可能ですか?)、 Author から Book への関係を追加しません (そうでなければ、かなり明白です)
ありがとう