問題タブ [icriteria]
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.
nhibernate - NHibernate L2 Cache - 流暢な nHibernate 構成
FHN で Get\Load の L2 キャッシュを構成できましたが、ICriteria インターフェイスを使用して構成されたクエリでは機能しません。これらのクエリの結果はキャッシュされません。
誰かが理由を知っていますか?
構成は次のとおりです。
I基準:
エンティティ マッピング:
また、データベース プロパティのセッション ファクトリ構成は次のとおりです。
乾杯
AWC
nhibernate - NHibernate: Criteria API を使用して結合の一部であるクラスを除外する方法
私はまだ Hibernate を使い始めたばかりで、継承した Web サイトで Hibernate を使用しようとしています。残念ながら、これは db スキーマが必ずしも意味をなさない場合があることを意味します。
そうは言っても、Criteria API を使用して次の HQL クエリを作成しようとしています。
上記の HQL ステートメントは、私が望んでいる TableB のみを選択して返す SQL を生成します。ただし、以下に示す Critera API ステートメントを使用すると、生成された SQL ステートメントは TableB と TableA のフィールドを選択します。
完璧な世界では、db スキーマを更新してより意味のあるものにすることができますが、残念ながらできません。これに関する任意の助けをいただければ幸いです。
nhibernate - NHibernateのICriteriaを理解する
次のコードが何をするのか、誰かが英語で説明できますか?
nhibernate - ICriteria インターフェイスを使用した NHibernate のコレクションにないオブジェクトの選択
私のシステムでは、ユーザーは 0 個以上のカテゴリを所有しています。これが私のモデルクラスの簡略化されたバージョンです:
ユーザーに割り当てられていないすべてのカテゴリを選択する ICriteria クエリを作成したいのですが、行き詰まっています。理想的には、Category から User へのナビゲーション プロパティを作成したくありませんが、NHibernate に関する私の初心者の知識では、それが唯一の解決策です。
現在のデータ モデル クラスでこれを行う ICriteria クエリはありますか?
ご協力いただきありがとうございます。
nhibernate - NHibernate: 同じクエリ内のエンティティと、場合によってはサブクラスのクエリ基準
これは私の2つのエンティティのセットアップです:
それらのマッピングは次のようになります。
これがセットアップです。2 つのエンティティがあり、一方は他方の結合されたサブクラスです。フォームから任意の数の条件を取得し、適切な条件をクエリに適用して結果を返す検索フレームワークがあります。
この場合、「名前」という単一のフォーム フィールドがあるとします。名前が Person の Name プロパティと一致するかどうかを確認することで、通常の人であろうと特別なクラスの不滅であろうと、すべての人を呼び戻したいのですが、 Immortal の場合、DarkName がフォームで指定されたものと一致する場合も一致としてカウントしたいと思います。
これは私のジレンマです。どうすればよいでしょうか。NHibernate の ICriteria に関して私ができる最善の方法は、Immortal でサブクエリを作成してそこで名前を確認し、ルートの Person ID がそのサブクエリに含まれているかどうかを確認することです。ただし、数万人のテーブルで作業する場合、結果を取得するこの方法は非常に非効率的であり、実際の状況ではリクエストがタイムアウトすることさえあります (30 秒以上)。
Immortal での外部結合でこのフィールドをチェックしたいので、HQL でもこれを行うことにオープンですが、HQL に任意のプロパティの 2 つの異なるエンティティで結合を実行させることはできません。マッピングの直接の関連付けに基づいている必要があることはわかっています。たとえば、これは私が見たいものです:
あなたはスタックオーバーフローと何を言いますか?
nhibernate - Hibernate エンティティの疎結合
MyItem というエンティティがあるとします。SomeCollection や SomeOtherCollection など、多くの「親」に含めることができます。多くの親に含めることができ、MyItem に親について知られたくないので、親を参照する MyItem にプロパティを持たないようにしたいと思います。
また、親は SomeCollection のように多数の MyItem を含むことができるため、親から子を取得するには何らかのページングが必要だと感じています。これにより、MyItems を参照する SomeCollection のプロパティを保持できなくなります。遅延ロードされているかどうかに関係なく、常に「オール オア ナッシング」です (そうですか?)。
ただし、データベース内のマッピング テーブルの形式で、MyItem エンティティとその親の間の参照が必要なのは間違いありません。
質問:
- このマッピングを作成するにはどうすればよいですか? マッピングを行うことはできますか、それとも関係をビジネス ロジックに保持する必要がありますか?
- SomeCollection に存在する MyItem エンティティを照会するにはどうすればよいですか? ICriteria を使用してデータベースに 1 回アクセスするだけでこれを実行できますか?
tsql - NHibernate の ICriteria を使用してグループ化、関連付けの取得、T-SQL 関数を使用する方法
次の T-SQL ステートメントを作成します。
これはNHibernates ICriteriaで可能ですか?
Month-T-SQL-Function はどのように使用できますか?
手動で参加する必要がありますか、それとも ICriteria API は、propetyName 'SalesmanArticle.Article.Goodsgroup.Description' を使用するときに Article と Goodsgroup に参加する必要があることを認識していますか?
編集:
今のところ、このコードをここに書きました:
しかし、AdoException がスローされます。
クエリを実行できませんでした [ SELECT sum(this_.Amount) as y0_, sum(this_.Cost) as y1_, goodsgroup2_.Description as y2_, MONTH([Date]) FROM [SalesmanArticle] this_ inner join [Article] article1_ on this_. ArticleId=article1_.ArticleId 内部結合 [GoodsGroup] goodsgroup2_ on article1_.GoodsGroupId=goodsgroup2_.GoodsGroupId GROUP BY goodsgroup2_.Description, MONTH([Date]) ]
[SQL: SELECT sum(this_.Amount) as y0_, sum(this_.Cost) as y1_, goodsgroup2_.Description as y2_, MONTH([Date]) FROM [SalesmanArticle] this_ inner join [Article] article1_ on this_.ArticleId= article1_.ArticleId 内部結合 [GoodsGroup] goodsgroup2_ on article1_.GoodsGroupId=goodsgroup2_.GoodsGroupId GROUP BY goodsgroup2_.Description, MONTH([Date])]
奇妙なことは、NHibernate が 2 つのクエリを作成しようとしていることです!
そして、どちらも正しいです!
コードラインの代わりに
使った
SqlFunction の問題は、MONTH(sa.Date) ではなく GROUP BY sa.Date を作成することです。しかし、この方法は構文的に正しく機能しました。
そこで、SqlGroupProjection メソッドに切り替えました。
しかし、とにかくうまくいきません。
誰でも私を助けることができますか?
nhibernate - nHibernate コレクションとエイリアス基準
学校があり、学校には生徒のコレクションがある単純なテスト オブジェクト モデルがあります。
特定の年齢以上の学校とそのすべての生徒を取得したいと考えています。
次のクエリを実行して、特定の学校と特定の年齢以上の子供を取得します。
これはすべて正常に機能し、クエリがデータベースに送信され、予想される行数が返されることがわかります。
ただし、次のいずれかを実行すると、別のクエリを実行することで、(前の要求に関係なく) 特定の学校の生徒の総数が得られます。
誰でも理由を説明できますか?
nhibernate - ICriteria を使用した null/not null による並べ替え
結果を次のように並べ替えたいと思います。
- 最初に、列/プロパティが null でないすべての行/オブジェクトが必要です。次に、列/プロパティがnullであるすべての行/オブジェクトが必要です。
- 次に、別の列/プロパティで並べ替えたいと思います。
ICriteriaでこれを行うにはどうすればよいですか? 独自の Order クラスを作成する必要がありますか、それとも既存のコードで作成できますか?
こんな感じで注文したいです。
nhibernate - コレクションを取得するNHibernateプロジェクション?
射影で文字列のコレクションを取得するのに問題があります: 次のクラスがあるとします。
次に、WorkSet.Title、WorkSet.PartTitles、および Id を取得するワーク ID のリストを取得します。
私の考えは、次のようなことをすることでした:
Id と Title は正常にロードされますが、PartTitles は null を返します。提案してください!