問題タブ [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.
nhibernate - Restrictions.In(..) を使用する NHibernate 条件クエリの最適化に助けが必要
サブクエリまたは他のより最適な方法を介して Criteria と DetachedCriteria を厳密に使用して、次のことを実行できる方法があるかどうかを調べようとしています。NameGuidDto は、文字列と Guid プロパティを持つ軽量オブジェクトにすぎません。
nhibernate - CriteriaAPIを使用してNHibernateでコレクションを熱心にロードする
私は、HasManyエンティティBとエンティティCを持つエンティティAを持っています。すべてのエンティティA、B、およびCには、熱心にロードする必要があるいくつかの参照x、y、およびzがあります。
データベースからすべてのエンティティAを読み取り、基準APIを使用してBとCのコレクションを熱心にロードしたいと思います。これまでのところ、「A」の参照を熱心に取得することができます。ただし、コレクションが読み込まれると、コレクション内の参照が遅延して読み込まれます。
これが私のやり方です
Fluentを使用したエンティティAのマッピングは次のとおりです。_Bと_Cは、それぞれAのBとCのプライベートIListです。
マッピングファイルに変更を加えたくないので、エンティティA全体を熱心にロードしたいと思います。つまり、参照プロパティも熱心にロードされるBとCのリストがあるAのリストを取得する必要があります
c# - テーブルで Nhibernate が 2 回参加する
次のクラス構造を検討してください...
NHibernate を使用してListViewControl クラスを熱心にロードしたいと考えています。Fluent を使用したマッピングは次のとおりです。
これが私が熱心にロードしようとしている方法です
さて、私の問題は、クラスがと の両方でListViewControl
正しいレコードを取得することですが、同じレコードのエントリが複数あることです。レコードの数は、テーブルに対して行われた結合の数 (この場合は 2) と同じです。Actions
ListViewActions
ControlAction
どうすればこれを回避できますか? SetFetchMode
クエリからを削除すると、listViews
望ましくないプロキシを介してアクションが遅延して読み込まれます。
エイリアスも作成してみました...
これにより、重複するエントリが削除されましたが、熱心に読み込まれませんでした
c# - NHibernate Detached Criteriaに依存する単体テストメソッドは可能ですか?
Moqを使用して、DetachedCriteriaクラスを使用するリポジトリのメソッドを単体テストしようとしました。しかし、内部に構築されている内部のCriteriaオブジェクトを実際にモックできないという問題に直面します。切り離された基準をモックする方法はありますか?
試験方法
リポジトリクラス
}
ここでも「NHibernate.LambdaExtensions」と「Castle.Facilities.NHibernateIntegration」を使用していることに注意してください。どんな助けでもありがたいです。
基本的に、返されたオブジェクトのアサートでnull参照例外が発生します。したがって、私は基準を正しく接続していないと思います。しかし、基準は私のリポジトリ内に作成された分離基準のプライベートフィールドであるため、これを行うことはできないと思います。
java - 関数を適用した後、Hibernate でプロパティを検索する
私のデータベースでは、ユーザーの入力として電話番号を保存します(ユーザーに電話番号のフォーマットを決定させたい)
ユーザーが電話番号を検索するとき、おそらく 2 つの文字列を比較できるように番号をフォーマットすることはありません。数字の途中に括弧やその他の通常の電話区切りがある可能性があるため、「いいね」でもうまくいきません。
フィルターを適用して結果を比較した後、DB 上の各電話を検索条件と比較できるようにしたいと考えています。これまでのところ、適用したいフィルターは次のとおりです。
そして、電話を比較するために私がしていること(まだフィルターがありません)
したがって、上記のフィルターを休止状態のコンパレータとして使用する方法についてのヘルプをいただければ幸いです
hibernate - クエリを1つだけ含み、テーブルを含まないFROM句を使用した基準クエリ
次のクエリがありますが、基準を使用してどのように記述できるかわかりません。
基準クエリを書き始めました。次のようになります
サブクエリの作成に成功しましたが、メインクエリの作成方法がわかりません。DetachedCriteriaではエンティティクラスを作成する必要がありますが、私のメインクエリはテーブルを使用していません。ソースとしてfrom句の別のクエリを使用します。
UserAnswerエントリの構造は次のとおりです。
hibernate - 基準クエリを使用したポリモーフィック Hibernate オブジェクトの取得
私のモデルには、抽象的な「User」クラスと、Applicant、HiringManager、Interviewer などの複数のサブクラスがあります。それらは単一のテーブルにあり、それらすべてを管理する単一の DAO があります。
ユーザー:
HiringManager (例):
たとえば、部門に関連付けられていないすべての採用担当者を取得したい場合、どうすればよいでしょうか。次のようになると思います。
しかし、これを実行すると、Hibernate は「プロパティを解決できませんでした: ロール」と不平を言います (ユーザー クラスには明示的なロール プロパティがないため、これは実際には理にかなっています)
。
sql - NHibernate DetachedCriteria または HQL への複雑な SQL クエリ
必要な結果を返す次の SQL クエリがあります。
基本的に、DetachedCriteria または HQL のいずれかを使用して、直接 SQL ではなくエンティティに対して同じことを行う方法はありますか?
2 つの課題は次のとおりです。
行ごとのコスト計算のクエリ。
派生テーブルの結合 (この値が存在しない可能性があるため、外部結合である必要があります)
ポインタをいただければ幸いです。インフラストラクチャの変更と、リファクタリングのサポート (の欠如) に関する問題のため、SQL は使用したくありません。
nhibernate - Castle/NHibernate でサポートされていない SQL 関数または句を使用する場合、どのような方法が推奨されますか?
すべてのテーブルをモデル化し、切り離された基準を使用してほとんどのクエリを既に移植しました。すべてが非常にうまく機能していますが、どのように進めればよいかわかりません。Oracle の「connect by」句を使用するサブクエリがあります。開発者は通常、Castle/NHibernate の制限をどのように克服しますか?
NHibernate の最新バージョンを使用しています。
nhibernate - DetachedCriteria を使用して非 AR タイプの汎用リストを返す
リポジトリ クラスをいじっていて、切り離された条件でクエリを実行しようとしました。ただし、結果トランスフォーマーを非ARタイプに設定するのは好きではないようです。
このクエリを実行すると発生するエラーは次のとおりです。
エラーは理解できますが、非 AR 型の厳密に型指定されたリストを返すにはどうすればよいですか? NHibernate.Transform が提供するものを見てきましたが、目立ったものはありません。
また、これは悪い習慣ですか?
編集:基礎となるデータベースセッションにアクセスし、そこから基準を実行することで、なんとか解決しました。
今、私は疑問に思っていますが、手動で新しいセッションを作成せずにこれを達成する別の方法はありますか?