問題タブ [nativequery]
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.
jpa - @NamedNativeQuery とスキーマを管理する
EntityManager
持っているスキーマごとに 1 つずつ、多数の があります (entity-mappings
ファイルを使用して EM をスキーマにマップします)。できます。
私が使用するとき@NamedQuery
は魅力のように機能しますが、@NamedNativeQuery
スキーマを使用するときは使用されません。私はそれで修飾する必要がありSELECT foo FROM schema.table
ます。
それは正しい行動ですか?
スキーマを動的に渡すためにパラメーターを指定することはできないと思い@NamedNativeQuery
ます (テーブルやスキーマなどではなく、列のみがダイナミクスになると思います) ので@NamedNativeQuery
、動的スキーマでどのように使用できますか?
hibernate - 一時パラメータがnullに設定されているnativeQueryの「引数の数またはタイプが間違っています」
次のOracleSQLストアドプロシージャの署名があるとします。
次のコードを使用して、JavaJPA2Hibernateコンテキストから呼び出されます。
実行すると、次の例外が発生します。
すべてのパラメータが正しく設定されているのに、どうしてですか?
oracle - JPA ネイティブ クエリがレコードを返さない
これは、関連するバックエンドの指定されたレベル内のモジュール エンティティを取得するメソッドです。
SQL開発者で正確なクエリを実行すると、結果として1行が得られます。しかし、このメソッドは空のリストを返します。ログにエラーはありません - リストが空です。ネイティブ クエリの何が問題になっていますか?
hibernate - JPA ネイティブ クエリの結果が重複する子オブジェクトを返す
DB に親テーブルと子テーブルがあり、対応するエンティティ クラスに OneToMany マッピングがあります。子テーブルには外部キーのparent_idがあります。Hibernate と MySQL DB で JPA 2 を使用しています。
SQL ネイティブ クエリを使用して、親プロパティに基づいて、すべての親オブジェクトとそれに対応する子オブジェクトを取得したいと考えています。
そのために、次のように SqlResultSetMapping があります。
次のように問い合わせています。
結果リストをたどると、出力に示すように、子テーブルの異なる行に重複する子オブジェクトが見つかりました。
出力:
これがなぜなのかわかりません。ネイティブ クエリを使用してすべての (異なる) 子オブジェクトを取得する (マッピング) 方法はありますか。列名を使用したフェッチは機能し、対応するオブジェクト マッピングは必要ありませんが、子テーブルのすべての列をフェッチしたいので、SQL クエリで c.* を使用することをお勧めします。
java - ネイティブ更新クエリの実行後も、取得されたエンティティの古い値
で注釈が付けられた HashMap の特定のキーの値を更新するために、ネイティブ クエリを使用しています@ElementCollection
。
クエリが実行された後、HashMap を含む完全なエンティティが で取得されEntityManager.find(...)
ます。問題は、取得したエンティティの HashMap にまだ古い値が含まれていることです。
更新された HashMap でエンティティを取得するにはどうすればよいですか? キャッシュを更新する必要がありますか? 私はEclipse Linkを使用しています。
jpa-2.0 - 2 つのテーブルを結合するためのネイティブ クエリの使用中に例外 [EclipseLink-4002] が発生する
スポンサーとスタディの 2 つのテーブルがあります。スポンサーおよびスタディの表の列は次のとおりです。
スポンサー テーブルの構造:
研究テーブルの構造:
Study to Sponsor には ManyToOne の関係があります。
Sponsors と Study のフィールドをデータテーブルに表示し、作成、更新、および削除操作を実行しようとしています。
これは、データテーブルの作成に使用した方法です。
Study のデータテーブルを表示しているときに、SponsorId の代わりに SponsorName を表示したいので、結合クエリを使用して SponsorName を取得しました。
データテーブルに SponsorName を表示できるようになりましたが、レコードを追加すると次の例外が発生します。
これはスタディ用のエンティティ クラスです。
JSFページ
これは perisistence.xml ファイルです
アップデート
Study エンティティに SponsorName 列を追加したため、エラーが発生していると思います。
あるエンティティの列を別のエンティティにマップできますか?
はいの場合、誰かが私にそれを行う方法を提案できますか.
mysql - 2 つのテーブルを結合する JPA ネイティブ クエリの記述方法。Eclipseink JPA、Glassfish3.x、EJB3.1、MySQL
結合とEclipselink JPA2.0エンティティを使用してJPAネイティブクエリを作成する正しい方法は何ですか?
Eclipselink JPAネイティブクエリまたはJPQLを使用して次のSQLクエリを実行するように教えてもらえますか?
SQL クエリは次のとおりです。e.EmployeeName、e.EmpId、d.DeptId を従業員 e、部門 d から選択し、d.DeptId で e.DeptId を結合します。ここで、e.DeptId=d.DeptId
JPA エンティティ Bean コード スニペット
JPA エンティティークラス「Employee」は java.io.Serializable を実装し、デフォルトのコンストラクターにはすべての必須フィールドが含まれています。
jpaエンティティをMy-SQLテーブルにマップする正しい方法は何ですか?
多対一の関係: Employee.DeptId --> Department.DeptId Employee.RoleId --> JobRoles.RoleId
Employee.RoleId --> Skills.SkillId 2 つのテーブルで成功した後、3 つのテーブルを結合したいと考えています。
Ecipselink のユーザーガイドを読んでいましたが、入手できませんでした。誰かが私にコードスニペットを提供するか、正しいリソースに案内してくれますか?
私はEclipseLink JPAオンラインガイドを見てきました:
http://wiki.eclipse.org/EclipseLink/UserGuide/JPA/Basic_JPA_Development/Querying http://wiki.eclipse.org/EclipseLink/UserGuide/JPA
Eclipse リンク JPA がネイティブ クエリをサポートしており、JPQL では完全な移植性が得られないため、ネイティブ クエリを使用しています。単一のテーブルにマップされた jpa エンティティを使用して、サンプル jsf-jpa アプリケーションを作成および開発しました。Netbeans IDE では、JPQL クエリの生成と実行にそれほど時間はかかりませんでした。
ネイティブ クエリやストアド プロシージャを使用して JPA エンティティを実行したい。JPAの実装が同じ問題を引き起こさないのであれば、SQLクエリとストアドプロシージャで既存のスキルを使用できれば、より生産的になります。
更新: ネイティブ SQL クエリは、JSR 317 のセクション 3.8.15 SQL クエリ に従って使用できます: [JavaTM Persistence API、バージョン 2.0][1] http://download.oracle.com/otndocs/jcp/persistence-2.0-fr -other-JSpec/
SQL クエリ機能は、使用中のターゲット データベースのネイティブ SQL を使用する必要がある場合 (および Java Persistence クエリ言語を使用できない場合) をサポートすることを目的としています。ネイティブ SQL クエリは、データベース間で移植可能であるとは想定されていません
したがって、移植性は必要ないため、ネイティブクエリを使用することは何も悪いことではないと思います。
jpa - JPA ネイティブ クエリの問題
SQL SERVER 2008 データベースでネイティブ クエリを実行しようとすると、JPA の問題に直面しています。何が起こっているのかよくわかりません。データベースで直接クエリを実行すると、次の結果が得られました(これは私が期待しているものです):
しかし、コードでは、EntityManager からデータを取得したときの結果は同じではありません。私が得るものは次のとおりです。
同じ行で同じ結果が得られます。非常に奇妙です... 誰かが問題を理解するのを手伝ってくれませんか。PrimeFacessubtable
コンポーネントが適切なデータを表示できないのではないかと疑っていましたが、問題が JPA Native Query にあると確信しています。私が使用しているクエリの下を参照してください。
以下のクエリのコードを参照してください。
リストを呼び出す EJB のコード:
EJB はクエリ マネージャを呼び出して、実行するクエリを取得します。
前もって感謝します !
jsf - ui:repeat を使用してネイティブ クエリ リストにアクセスする
私はtest
列id
を持つテーブルを持っているとしましょうname
私のビーンで私はこのクエリを得ました
私のjsfページには次のものがあります:
なぜ私はSEVERE: javax.el.ELException: /test.xhtml: For input string: "id"
java - nativeQuery を介して関数を作成する
このように、ネイティブクエリを介してデータベースに関数を挿入しようとしています
しかし、次の例外がスローされます
機能に何か問題がありますか?このようなコマンドを nativeQuery 経由で実行できますか?