問題タブ [hql]

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 に答える
16827 参照

hibernate - SQLからHQLへの変換

以下のSQLクエリをHQLに変換しようとしていますが、いくつか問題があります。直線ごとの変換は機能しません。HQLで内部結合を使用する必要があるかどうか疑問に思っていますか?

クエリは、顧客注文の状態が変化するまでの時間を秒単位で返します。

州の名前と日付は動的にクエリに挿入されます。

編集:これを試してみました

例外を受け取りました"外部結合または完全結合の後にパス式を続ける必要があります"

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

.net - NHibernate HQL は "with" キーワードをサポートしていませんか?

「is null」をチェックする機会を与えるために、コレクションから結合値を残すことができるHQLを構築しようとしています。

hibernate マニュアルの例から抜粋:

「with」キーワードを認識しないため、NHibernate では動作しないようです。WHERE ステートメントではなく、結合で直接結合句を指定できない場合、結合を残して一致しないエントリをチェックするには、他にどのようにすればよいでしょうか?

NHibernate 2.0.0 を実行しています。

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

nhibernate - クエリをHQLに変換するのに問題がある

私はHQL(一般的にはnHibernate)にかなり慣れておらず、現在、HQLについてさらに学ぶための簡単なアプリを構築しています。

ただし、次のSQLをHQLとして表現しようとすると問題が発生しますが、アイデアがあれば非常にありがたいです。

クエリは次のとおりです。

0 投票する
0 に答える
970 参照

nhibernate - これをHQLで表現するにはどうすればよいですか

私はしばらくの間、このクエリで立ち往生しています。SQL は必要な結果を返しますが、クエリを HQL で表現する方法がわかりません。

SQLは次のとおりです。

相関サブクエリを作成するには DetachedCriteria を使用する必要があると思いますが、実際の問題があります。

これが私がこれまでのところです:

メインクエリの場合:

これは明らかに正しくありません。サブクエリとして使用するには、latestPostInThread から userId を取得する必要がありますが、完全に困惑しています。

どんな助けでも大歓迎です!nHibernate で達成するのが特に難しくないと確信している何かのために、SQL にフォールバックするのは嫌いです。

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

java - Hibernate: HQL FROM 部分を解析/変換して、ペアのクラス エイリアス、クラス名を取得する

HQL を解析/評価し、キーがテーブル エイリアスで値が完全修飾クラス名であるマップを取得する方法を教えてください。

たとえば、HQL の場合

SELECT a.id from Foo a INNER JOIN a.test b

ペアが欲しい:

a、package1.Foo

b. package2.TestClassName

結果セットに対して行うのは比較的簡単です

詳細はこちらをご覧ください。

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

nhibernate - HQLでの最小、最大、およびカウントの使用

Hibernate HQLクエリは、select min、max、count、およびその他のSQL関数の使用をサポートしていますか?

お気に入り:

select min(p.age) from person p

ありがとう

0 投票する
4 に答える
789 参照

hql - ScalarQuery からの行数 InvalidCast 例外の取得

これは、invalidcast 例外で失敗しますが、count を max に置き換えると成功します。

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

nhibernate - HQL の where 句でオブジェクトの型を使用する

私のドメイン モデルには、FTPChannelSpecification、EMailChannelSpecification、WebserviceChannelSpecification などの子クラスを持つ抽象クラス CommunicationChannelSpecification があります。ここで、結果を特定の種類のチャネル仕様に絞り込む where 句を含む HQL クエリを作成したいと考えています。たとえば (平易な英語で) セット {FTPChannelSpecification, WebserviceChannelSpecification} に含まれる型を持つすべての CommunicationChannelSpecifications を選択します。

これを HQL でどのように達成できますか? 私はNHibernate 2.0.1とサブクラス継承マッピング戦略ごとのテーブルを使用しています...

ありがとう!

パスカル

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

nhibernate - 複数の結合が含まれる条件クエリを作成する方法

Criteria API を使用して、次の HQL クエリをコーディングしようとしています。

(3 つの NHibernate オブジェクト: ユーザー (ID、名前、役割、顧客)、役割 (ID、名前)、顧客 (ID、名前))。

次のことを試しましたが、NHibernate が Role に関連付けられた Customer を見つけようとするため、機能しません。

それを行う他の方法(うまくいきます!)はありますか?

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

performance - null 値を使用した JPA/Hibernate クエリの最適化

Hibernate の JPA 実装を使用していますが、フェッチされるエンティティごとに複数の SQL クエリが発行されるため、パフォーマンスが低下しています。結合された JPA クエリを使用すると、SQL クエリが 1 つだけ生成されますが、行が null 関係になることがわかりません。

例として、次の単純なスキーマを考えてみましょう。個人はある住所に住んでおり、会社に雇用されています。住所と雇用主はどちらもオプションであるため、null にすることができます。

上記には示されていませんが、各 JPA エンティティには何らかの ID (キー) があります。

私が見ている問題は、Person に対する 1 つの JPA クエリが、データベースに対して複数の SQL クエリを生成することです。たとえば、次の JPA クエリ:

SQL クエリの結果:

また、取得した人物ごとに次の SQL クエリのペアも使用します。

これはパフォーマンスに大きな影響を与えます。クエリの結果セットが 1000 人の場合、1+1000+1000=2001 の SQL クエリが生成されます。

そこで、強制的に参加させて JPA クエリを最適化しようとしました。

また:

これにより、多数の結合を含む 1 つの SQL クエリが生成されます。問題は、住所または雇用主が null の場合、結合されたクエリでそれが見つからないことです。

そのため、遅い結合のないクエリを使用するか、行を取得しない高速の結合クエリを使用すると関係が null になります。ここで何かが欠けているに違いありません。確かに、高速で完全なクエリを実行する方法はあります。