[解決済み] JPA : ネイティブクエリ結果セットをPOJOクラスコレクションに変換する方法
2022-04-08 06:01:37
質問
私はプロジェクトでJPAを使用しています。
私は、5つのテーブルで結合操作を行う必要があるクエリにたどり着きました。そこで私は、5つのフィールドを返すネイティブクエリを作成しました。
ここで、結果オブジェクトを、同じ5つの文字列を含むJava POJOクラスに変換したいと思います。
JPAでその結果を直接POJOオブジェクトリストにキャストする方法はありますか?
私は次の解決策を思いついた.
@NamedNativeQueries({
@NamedNativeQuery(
name = "nativeSQL",
query = "SELECT * FROM Actors",
resultClass = db.Actor.class),
@NamedNativeQuery(
name = "nativeSQL2",
query = "SELECT COUNT(*) FROM Actors",
resultClass = XXXXX) // <--------------- problem
})
ここでresultClassに、実際のJPAエンティティであるクラスを提供する必要があるのでしょうか? または 同じカラム名を含む任意のJAVA POJOクラスに変換することができます。
どのように解決するのですか?
JPAでは
SqlResultSetMapping
を使用すると、ネイティブクエリから返されるものをすべてエンティティ
またはカスタムクラス
.
EDIT JPA 1.0では、非エンティティクラスへのマッピングは許可されていません。JPA 2.1では コンストラクタ結果 が追加され、返り値をJavaクラスにマッピングできるようになりました。
また、OPの問題であるカウントの取得については、結果セットのマッピングを1つの
ColumnResult
関連
-
[解決済み] トークンのシンタックスエラー、これらのトークンを削除してください [closed].
-
[解決済み] tempとは何ですか、またjavaにおけるtempの用途は何ですか?
-
[解決済み] HashMapのtoString関数はなぜ異なる順序で自分自身を印刷するのですか?
-
[解決済み] パラメータ[変数]の不正な修飾子;finalのみが許可される[closed]。
-
[解決済み] Eclipse- Dynamic Web Module 3.0 で新しいプロジェクトを作成するときに Java 1.6 以降が必要なエラーが発生する。
-
[解決済み] javax.mail.MessagingException: SMTPホストに接続できませんでしたか?
-
[解決済み] ORA-01654: インデックスを拡張できません。
-
[解決済み] publicId と systemId の間に空白が必要です。
-
[解決済み] java.io.IOException。DER長の短い読み取り
-
[解決済み] Spring-data-jpaを使用してエンティティを更新するにはどうすればよいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Cloneable throws CloneNotSupportedException
-
[解決済み] Java Genericメソッドをstaticにするには?
-
[解決済み] 一部の入力ファイルが非推奨のAPIを使用またはオーバーライドしている
-
[解決済み] java.lang.ClassNotFoundException: クラス com.ibm.db2.jcc.DB2Driver が Worklight プラットフォームまたはプロジェクトに見つかりませんでした。
-
[解決済み] javax.naming.NameNotFoundException
-
[解決済み] Mavenです。JARは空になります - 含有するためにマークされたコンテンツがありません
-
[解決済み] 文字列の長さに応じて文字列をトリミングする
-
[解決済み] Maven: assembly-pluginが全く実行されない
-
[解決済み] Javaでdoubleをfloatに変換する
-
[解決済み] Spring Repositoryで生のSQLを使用することは可能ですか?