問題タブ [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 投票する
4 に答える
7849 参照

.net - Criteria を HQL に変換する簡単な方法はありますか?

数日前に Criteria API を使用したコレクションのクエリに関する質問を投稿しました。すべての回答の後、私が試みていることは Criteria では不可能であることがわかりました。nhibernate と hibernate の状況にバグがあります。

私は DetachedCriteria を使用してすべての基準をまとめていましたが、リストは非常に長くなります。チェーンの最後の円はバグのある基準なので、すべての分離基準を HQL に変更する必要があります。

私の質問は、Criteria を HQL に変換するツールまたは方法があるかどうかです。

また

Criteria と Hql を連携させる方法はありますか?

nhibernate のバグに関する記事

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

.net - SetFirstResult と SetMaxResults を使用するときに、ResultTransformer を使用せずに個別の結果セットを取得する方法を知っていますか?

SetFirstResult と SetMaxResult を使用し、クエリに結合がある場合、結果は一意ではなく重複します。

次に、すべてのタイプの Distinct ヘルパーを基準 API に使用します。ただし、結果セット全体をフィルタリングするのではなく、ページングされた結果をフィルタリングするだけです。

どうすればこの問題を克服できますか?

ありがとう

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

nhibernate - NHibernate Criteria API、予測と結果

次のドメイン オブジェクトがあります。

Rhino.Commons のリポジトリを使用しています。一定期間、いくつかのチャネルの値の合計を選択する必要があります。これらの値は、チャネル ID 順に並べる必要があります。次のクエリを使用します(リポジトリメソッドで):

このクエリは長い数値のリストを返さないため、最後の行でエラーが発生します。次のようなオブジェクトのリストを返します (それで動作します):

これは、グループ化を行う基準に Projections.GroupProperty("Channel") プロジェクションを追加したためです。投影の 1 つ (私のサンプルからの Projections.GroupProperty("Channel")) を結果セットから削除する方法、または投影なしでグループ化を追加する方法はありますか?

0 投票する
8 に答える
113084 参照

java - Hibernate Criteria API から SQL を取得する方法 (*ロギング用ではありません*)

(生成される) SQL を Hibernate から取得する方法はありますCriteriaか?

理想的には、次のようなものがあります。

アイデアは、SQLを巨大な「MINUS」クエリの一部として使用することです(データではなく構造が同一である2つの同一のスキーマの違いを見つける必要があり、MINUSはHibernateでサポートされていません)

(ところで、ログファイルからSQLを確認できることはわかっています)

0 投票する
5 に答える
36232 参照

java - 休止状態の基準を使用して、特殊文字をエスケープする方法はありますか?

この質問では、クエリが複数のデータベース間で異なる必要があるため、特別なクエリを作成する必要はありません。休止状態の基準のみを使用して、特殊文字をエスケープできるようにしたいと考えています。

この状況が、特殊文字をエスケープする機能が必要な理由です。

データベースにテーブル「foo」があるとします。テーブル 'foo' には、'name' という名前のフィールドが 1 つだけ含まれています。「名前」フィールドには、データベースで特殊と見なされる可能性のある文字を含めることができます。そのような名前の 2 つの例は、'name_1' と 'name%1' です。'_' と '%' は両方とも、少なくとも Oracle では特殊文字です。ユーザーがこれらの例をデータベースに入力した後で検索しようとすると、問題が発生する可能性があります。

このコードの「searchValue」は、ユーザーがアプリケーションに指定した、検索に使用する値です。ユーザーが「%」を検索したい場合、ユーザーはデータベース内のすべての「foo」エントリで返されます。これは、「%」文字が文字列一致の「任意の数の文字」ワイルドカードを表し、休止状態が生成する SQL コードが次のようになるためです。

特定の文字をエスケープするように休止状態に指示する方法、またはデータベースの種類に固有ではない回避策を作成する方法はありますか?