問題タブ [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.
java - FROM句のHibernateDetachedCriteria
私は2つのテーブルを持っています:
Hibernate Criteria(DetachedCriteria)を使用して次のクエリを実行したいと思います。
DetachedCriteri
を使用してサブクエリin句を作成する方法を知ってWHERE
いますが、ご覧のとおり、サブクエリin句を実行する必要がありますFROM
。それが不可能な場合は、このクエリをそのような形式に書き換えることができるため、SELECT
(内部の)句に書き込む方法があるかもしれません。SUM()
ネイティブSQLをクエリに渡す必要がある場合でも、CriteriaAPIを使用する必要があります。
クラスやマッピングは示しませんでしたが、ご覧のとおり、これは非常に単純な例です。
java - Hibernate サブクエリの質問
これは私が望む単純なものでなければなりません。
請求書があり、その請求書には支払いのリストが含まれています。
Criteria API を使用して、請求書とその支払い合計のリストを返そうとしています。したがって、SQLでは次のようなものが必要です。
Criteria API を使用してこれを達成する方法を理解することはできません。次のようなことをします:
単純に、すべての請求書の予想支払い合計を含む 1 行を返します。これは実際には予想どおりですが、これは私が得ることができる限り近いものです。
どんな助けでも大歓迎です。
java - EJB 3 の条件クエリ
EJB3 エンティティで Criteria クエリを使用できますか? もしそうなら、どうすればそれらを EntityManager と組み合わせることができますか?
nhibernate - Id がマップされていない場合に Id リストによってエンティティをロードする正しい方法
次のコードがあります
(私は書いていません。NHibernate.Search の簡略化されたコードです)
の値idName
は正しいです ( "Id"
)。
私のマッピングでは、ID がエンティティ プロパティにマップされていません。これは DB のみです。
コードを実行すると、例外がスローされます。
Id
マップされていなくても検索できるように、制限と条件を作成する正しい方法は何ですか?
java - ManyToOne 関係を持つエンティティの Hibernate プロジェクションを使用して、SQL クエリで使用する列を減らします
ハイバネート基準のためにデフォルトで構築されている「select * from A」を避けるために、より小さなSQLを構築しようとしています。
「トランスフォーマー」を介して単純なフィールド(関係なし)を使用すると、次のSQLを管理できます。
こんにちは、私はこのエンティティを持っています:
私の目標はこれを持つことです:
基準(および下位基準)でこれを試しました:
プロジェクションを使用して、より小さな SQL を取得し、列を減らすにはどうすればよいですか? 前もって感謝します。
search - アレフ・ハムザとは?
これは、ドキュメント ビューアーの [検索] ボックス (検索条件として) で見つけました。
何が一致するはずですか?
group-by - クライテリアでのサブクエリの書き方
私はこのようなSQLを持っています:
私が達成しようとしているのは、最初に並べ替え (並べ替えtable2.priority
)、次にtable1.id, name
優先度が最も高いレコードを取得することです。toは 1 対多でMAX(table2.priority)
あるため、ここでは機能しないことに注意してください。1 つの table1 レコードに対して、table2 には最高の優先度 = 1 の N 個のレコードを含めることができ、別の table1 の最高の優先度 = 3 のレコードを保持できます。table1
table2
hibernate - 基準 クエリの質問
基準を使用して特定のフィールドを選択する方法は?
nhibernate - NHibernate は session.Load() 経由でプロキシを作成しますが、Linq または Criteria API 経由では作成しません
現在のプロジェクトに奇妙な問題があります。クエリの遅延読み込みが機能しません。リストをクエリすると、nhibernate はすべての関連付けを個別に取得します。
その小さな部分を抽出し、別のソリューションに入れました。基本的に私が今持っているのは、Account-Table と AccountSync-Table です。どちらにも ID と URL がありますが、ID は単なる db-guid です。
私のクラスは次のとおりです。
GUIDを介してオブジェクトをロードすると:
... 戻りfalse
、アカウント自体がプロキシです。
ただし、クライテリア API を介してリストをロードする場合:
... プロパティSync
が初期化され (2 番目の選択クエリが起動されます)、返されたオブジェクトはプロキシではありません。
それはデフォルトの動作ですか?私は何を間違えていますか?
マッピングは次のとおりです。
sql-server - NHibernate基準にプロジェクションを追加すると、デフォルトのエンティティ選択の実行が停止します
ページングをサポートするデータを選択するNHibernate基準を作成しています。Ayende Rahienが提案したように、SQL Server 2005(+)の式を使用して、COUNT(*) OVER()
使用可能な行の総数を取得しています。合計で何ページあるかを計算できるようにするには、その数が必要です。このソリューションの利点は、行数を取得するために2番目のクエリを実行する必要がないことです。
しかし、私はうまくいく基準を書くことができないようです(AyendeはHQLクエリのみを提供します)。
これが私が欲しいものを示すSQLクエリであり、それはうまく機能します。問題に焦点を合わせるために、実際のページングロジックを意図的に省略していることに注意してください。
HQLは次のとおりです。
rowcount()
関数はカスタムNHibernate方言に登録されCOUNT(*) OVER()
、SQLで解決されることに注意してください。
要件は、クエリが基準を使用して表現されることです。残念ながら、私はそれを正しくする方法がわかりません:
私がプロジェクションを追加するときはいつでも、NHibernateはitem
(プロジェクションがない場合のように)選択しませんrowcount()
が、私が本当に両方を必要としている間だけです。また、全体を投影することはできませんitem
。プロパティだけであり、すべてをリストしたくはありません。
誰かがこれに対する解決策を持っていることを願っています。とにかくありがとう。