問題タブ [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.
hibernate - SQLからHQLへの変換
以下のSQLクエリをHQLに変換しようとしていますが、いくつか問題があります。直線ごとの変換は機能しません。HQLで内部結合を使用する必要があるかどうか疑問に思っていますか?
クエリは、顧客注文の状態が変化するまでの時間を秒単位で返します。
州の名前と日付は動的にクエリに挿入されます。
編集:これを試してみました
例外を受け取りました"外部結合または完全結合の後にパス式を続ける必要があります"
.net - NHibernate HQL は "with" キーワードをサポートしていませんか?
「is null」をチェックする機会を与えるために、コレクションから結合値を残すことができるHQLを構築しようとしています。
hibernate マニュアルの例から抜粋:
「with」キーワードを認識しないため、NHibernate では動作しないようです。WHERE ステートメントではなく、結合で直接結合句を指定できない場合、結合を残して一致しないエントリをチェックするには、他にどのようにすればよいでしょうか?
NHibernate 2.0.0 を実行しています。
nhibernate - クエリをHQLに変換するのに問題がある
私はHQL(一般的にはnHibernate)にかなり慣れておらず、現在、HQLについてさらに学ぶための簡単なアプリを構築しています。
ただし、次のSQLをHQLとして表現しようとすると問題が発生しますが、アイデアがあれば非常にありがたいです。
クエリは次のとおりです。
nhibernate - これをHQLで表現するにはどうすればよいですか
私はしばらくの間、このクエリで立ち往生しています。SQL は必要な結果を返しますが、クエリを HQL で表現する方法がわかりません。
SQLは次のとおりです。
相関サブクエリを作成するには DetachedCriteria を使用する必要があると思いますが、実際の問題があります。
これが私がこれまでのところです:
メインクエリの場合:
これは明らかに正しくありません。サブクエリとして使用するには、latestPostInThread から userId を取得する必要がありますが、完全に困惑しています。
どんな助けでも大歓迎です!nHibernate で達成するのが特に難しくないと確信している何かのために、SQL にフォールバックするのは嫌いです。
java - Hibernate: HQL FROM 部分を解析/変換して、ペアのクラス エイリアス、クラス名を取得する
HQL を解析/評価し、キーがテーブル エイリアスで値が完全修飾クラス名であるマップを取得する方法を教えてください。
たとえば、HQL の場合
SELECT a.id from Foo a INNER JOIN a.test b
ペアが欲しい:
a、package1.Foo
b. package2.TestClassName
結果セットに対して行うのは比較的簡単です
詳細はこちらをご覧ください。
nhibernate - HQLでの最小、最大、およびカウントの使用
Hibernate HQLクエリは、select min、max、count、およびその他のSQL関数の使用をサポートしていますか?
お気に入り:
select min(p.age) from person p
ありがとう
hql - ScalarQuery からの行数 InvalidCast 例外の取得
これは、invalidcast 例外で失敗しますが、count を max に置き換えると成功します。
nhibernate - HQL の where 句でオブジェクトの型を使用する
私のドメイン モデルには、FTPChannelSpecification、EMailChannelSpecification、WebserviceChannelSpecification などの子クラスを持つ抽象クラス CommunicationChannelSpecification があります。ここで、結果を特定の種類のチャネル仕様に絞り込む where 句を含む HQL クエリを作成したいと考えています。たとえば (平易な英語で) セット {FTPChannelSpecification, WebserviceChannelSpecification} に含まれる型を持つすべての CommunicationChannelSpecifications を選択します。
これを HQL でどのように達成できますか? 私はNHibernate 2.0.1とサブクラス継承マッピング戦略ごとのテーブルを使用しています...
ありがとう!
パスカル
nhibernate - 複数の結合が含まれる条件クエリを作成する方法
Criteria API を使用して、次の HQL クエリをコーディングしようとしています。
(3 つの NHibernate オブジェクト: ユーザー (ID、名前、役割、顧客)、役割 (ID、名前)、顧客 (ID、名前))。
次のことを試しましたが、NHibernate が Role に関連付けられた Customer を見つけようとするため、機能しません。
それを行う他の方法(うまくいきます!)はありますか?
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 になります。ここで何かが欠けているに違いありません。確かに、高速で完全なクエリを実行する方法はあります。