問題タブ [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.
.net - Criteria を HQL に変換する簡単な方法はありますか?
数日前に Criteria API を使用したコレクションのクエリに関する質問を投稿しました。すべての回答の後、私が試みていることは Criteria では不可能であることがわかりました。nhibernate と hibernate の状況にバグがあります。
私は DetachedCriteria を使用してすべての基準をまとめていましたが、リストは非常に長くなります。チェーンの最後の円はバグのある基準なので、すべての分離基準を HQL に変更する必要があります。
私の質問は、Criteria を HQL に変換するツールまたは方法があるかどうかです。
また
Criteria と Hql を連携させる方法はありますか?
.net - SetFirstResult と SetMaxResults を使用するときに、ResultTransformer を使用せずに個別の結果セットを取得する方法を知っていますか?
SetFirstResult と SetMaxResult を使用し、クエリに結合がある場合、結果は一意ではなく重複します。
次に、すべてのタイプの Distinct ヘルパーを基準 API に使用します。ただし、結果セット全体をフィルタリングするのではなく、ページングされた結果をフィルタリングするだけです。
どうすればこの問題を克服できますか?
ありがとう
nhibernate - NHibernate Criteria API、予測と結果
次のドメイン オブジェクトがあります。
Rhino.Commons のリポジトリを使用しています。一定期間、いくつかのチャネルの値の合計を選択する必要があります。これらの値は、チャネル ID 順に並べる必要があります。次のクエリを使用します(リポジトリメソッドで):
このクエリは長い数値のリストを返さないため、最後の行でエラーが発生します。次のようなオブジェクトのリストを返します (それで動作します):
これは、グループ化を行う基準に Projections.GroupProperty("Channel") プロジェクションを追加したためです。投影の 1 つ (私のサンプルからの Projections.GroupProperty("Channel")) を結果セットから削除する方法、または投影なしでグループ化を追加する方法はありますか?
java - Hibernate Criteria API から SQL を取得する方法 (*ロギング用ではありません*)
(生成される) SQL を Hibernate から取得する方法はありますCriteria
か?
理想的には、次のようなものがあります。
アイデアは、SQLを巨大な「MINUS」クエリの一部として使用することです(データではなく構造が同一である2つの同一のスキーマの違いを見つける必要があり、MINUSはHibernateでサポートされていません)
(ところで、ログファイルからSQLを確認できることはわかっています)
java - 休止状態の基準を使用して、特殊文字をエスケープする方法はありますか?
この質問では、クエリが複数のデータベース間で異なる必要があるため、特別なクエリを作成する必要はありません。休止状態の基準のみを使用して、特殊文字をエスケープできるようにしたいと考えています。
この状況が、特殊文字をエスケープする機能が必要な理由です。
データベースにテーブル「foo」があるとします。テーブル 'foo' には、'name' という名前のフィールドが 1 つだけ含まれています。「名前」フィールドには、データベースで特殊と見なされる可能性のある文字を含めることができます。そのような名前の 2 つの例は、'name_1' と 'name%1' です。'_' と '%' は両方とも、少なくとも Oracle では特殊文字です。ユーザーがこれらの例をデータベースに入力した後で検索しようとすると、問題が発生する可能性があります。
このコードの「searchValue」は、ユーザーがアプリケーションに指定した、検索に使用する値です。ユーザーが「%」を検索したい場合、ユーザーはデータベース内のすべての「foo」エントリで返されます。これは、「%」文字が文字列一致の「任意の数の文字」ワイルドカードを表し、休止状態が生成する SQL コードが次のようになるためです。
特定の文字をエスケープするように休止状態に指示する方法、またはデータベースの種類に固有ではない回避策を作成する方法はありますか?