問題タブ [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 に答える
831 参照

nhibernate - 検索文字列を解析します (NHibernate Criterias に)

プロジェクトに高度な検索を実装したいと考えています。現在の検索では、ユーザーが入力したすべての文字列が使用され、Criteria API との 1 つの大きな論理和が作成されます。

これで問題なく動作しますが、さらに多くの機能を実装したいと思います: AND、OR、ブラケット()

文字列を解析し、文字列から基準を構築するのに苦労しました。私はこの Stackoverflow questionを見つけましたが、実際には役に立ちませんでした (彼は自分が何を望んでいるのかを明確にしませんでした)。

別の記事を見つけましたが、これはさらに多くのことをサポートし、SQL ステートメントを吐き出します。もう 1 つよく言及されているのは Lucene ですが、これが本当に役立つかどうかはわかりません。


少し調べてみたところ、Lucene.Net WhitespaceAnalyzer と QueryParser が見つかりました。

検索 A AND B OR C を +A +BC のようなものに変更します。これは、正しい方向への良い一歩です (さらに、括弧を処理します)。次のステップは、変換された文字列を接続詞と論理和のセットに取得することです。

私が見つけたJava の例は、NHibernate では見つけられなかったクエリ ビルダーを使用していました。

もっとアイデアはありますか?

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

nhibernate - マッピングが欠落しているnHibernateCriteriaクエリ

私は次のことをしようとしています:

と:

そして、「次の永続性がありません:従業員」というエラーが表示されます。

デカップリングの理由から、注文で従業員を参照したくないことに注意してください。

ステファン、助けてくれてありがとう

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

nhibernate - (分離) HQL の「インデックス」機能に相当する基準

次のマッピングでロードしているオブジェクトに IDictionary があります。

これは正常に動作し、Valuation オブジェクトには ValuationDate がありませんが、Nhibernate は必要に応じて ValuationDate をディクショナリのキーにロードしています。ValuationDate を指定して Valuation を 1 つだけ取得する InternalFund にクエリを実行したいと考えています。HQL の index() 関数を使用してこれを行うことができました。

繰り返しますが、これは素晴らしく、まさに次の where 句を作成したいものです。

しかし、プロジェクトの健全性を維持するために、これを DetachedCriteria で行いたいと思っています。やってみると

または

それは言います:

DetachedCriteria で index() を実行する方法はありますか?

ありがとう

ストゥ

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

hibernate - Hibernate Criteria API を使用して埋め込みまたはコンポーネントを取得する

このクラスをエンティティとしてマッピングしました。Person と呼びましょう。Person には、Address に対する埋め込み/コンポーネントの関係があります。Address オブジェクトを返す Criteria の使用に問題があります。私はこれを試しました:

これは機能しません。エンティティを通過する必要があると思いますが、その後、何らかの投影が必要になりますか?

提案?

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

nhibernate - NHibernate: パラメータが null でない場合に条件を追加する

ユーザーが指定したパラメーターに基づいて注文のリストを取得しようとしています (基本的な検索機能)。ユーザーは orderId またはその他のパラメーターのいずれかを入力します。これらはメッセージにまとめられ、最終的に以下のメソッドに進みます。私の質問は、実際に値を持つパラメーターのみをどのように見るのですか? したがって、ユーザーが受け取った日付範囲と店舗番号を入力し、他のすべてのフィールドが null の場合、日付範囲で受け取った店舗の注文を返し、すべての null パラメーターを無視したいと考えています。最初は接続詞を使用できると思っていましたが、null パラメーターを無視する方法がわかりません。次に、メインの式の下にある if ステートメントに分割し始めましたが、ユーザーが externalId を提供する場合は、これらの条件を確認したくありません。

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

hibernate - HibernateCriteria-同じIDで属性値が異なるレコードを除外します

ある人物のstatus="a"であるレコードを検索しようとしていますが、同じ人物がstatus="b"の別のレコードを持っているレコードを除外しています

SELECT * FROM Person WHERE STATUS ='a' AND Person_id NOT IN(SELECT Person_id FROM Person WHERE STATUS ='b' AND Person_id IS NOT NULL)

ヘルプに感謝します

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

hibernate - Hibernate Criteria クエリ - クラスキャスト例外

クエリに Hibernate(3.2) Criteria を使用しているため、リストに変換するときに例外が発生します。

以下のコードと例外を参照してください。

例外: java.lang.ClassCastException: [Ljava.lang.Object; com.abc.model.Summary にキャストできません

pojo(Summary) として指定したにもかかわらず、結果が 'Object' として返される理由がわかりません。

これで私を助けてくれませんか。冬眠初心者です。

ありがとう、ラジャ。

0 投票する
3 に答える
19898 参照

java - さまざまなオブジェクトのさまざまなプロパティに対するHibernate基準クエリ

次のようなクラスがあるとします。

そして、Aで基準をフィルタリングしたいのですが、次のように、異なるサブクラスプロパティで2つのフィルタを使用します。

私がやりたいのは、次のような「or」句を使用して、criteriaBとcriteriaCを組み合わせることです。

どうすればこれを達成できますか?ここでAPIに少しつまずきました。

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

nhibernate - nhibernate クロス テーブル クエリの最適化

NHibernate の Criteria 機能を使用して作成したクエリがあり、それを最適化したいと考えています。クエリは 4 つのテーブルを結合します。クエリは機能しますが、生成された SQL は、返したい情報だけではなく、4 つのテーブルのすべての列を返します。返されたデータを個人に整形するクエリで SetResultTransformer を使用していますが、サーバーからより大きなSQLが返されるまではそうではありません。

これがNHibernateの基準です

そして生成されたSQL(NHProfilerから)は

個々のテーブルから列を戻すだけです。投影を設定できましたが、個別のタイプが失われました。

これを DetachedCriteria で書き直すこともできます。

これらは私の唯一のオプションですか?

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

hibernate - Hibernate:基準での多対1の投影

最近、休止状態のCriteriaAPIを初めて試しています。

私はこのHQLと同等のことをしようとしていました

「タスクtからt.userTblを選択してください」

userTblプロパティは、Taskの多対1です。Task.userTblの関係は怠惰です。

だから私はこれを思いついた

残念ながら、これはHQLとは異なることをします。

HQLでは、マッピングでuserTbl関係がレイジーに設定されていますが、HQLはUserTblの非プロキシオブジェクトを熱心にフェッチしてマテリアライズします。

ただし、Criteriaで、不要なプロキシのリストが返されます。私はsetFetchModeをいじりましたが、これは正しいことではなかったようです。基準で上記を適切に実行し、HQLのように非プロキシを取り戻す方法を知っている人はいますか?

ありがとう。