問題タブ [jpa]

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 投票する
6 に答える
81277 参照

java - 列挙型のJPAマップコレクション

JPAにEntityクラス内の列挙型のコレクションをマップする方法はありますか?または、唯一の解決策は、列挙型を別のドメインクラスでラップし、それを使用してコレクションをマップすることですか?

私はHibernateJPA実装を使用していますが、もちろん実装に依存しないソリューションを好みます。

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

java - 永続性のために継承されたプロパティに注釈を付ける

私が次のようにクラスAを持っていると仮定します。

そして、クラスBは次のとおりです。

Aから継承されたIDフィールドに注釈を付けて、Hibernate / JPAがそれがエンティティのIDであることを認識できるようにするにはどうすればよいですか?Aのフィールドに@Idを配置しようとしましたが、うまくいきませんでした。Aもエンティティにしてみましたが、これもうまくいきませんでした。

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

web-applications - JBoss 上の EJB 3.0、JPA、動的 Web プロジェクトを使用した Java EE アプリケーションのプロジェクト アーキテクチャ/組織

さまざまな動的 Web プロジェクトを持つ Web アプリケーションがあり、それぞれに一般的に EJB プロジェクトが含まれています。JNDI を介して互いの EJB から Bean とクラスを使用したり、同じデータベースを共有したり、独自のデータベースを使用したりするなど、それらの相互作用を維持したいと考えています。しかし、異なるサーバーに異なるプロジェクトを保持できるようにしたいとも考えています。

アーキテクチャと組織の観点から、この種のプロジェクトの適切な焦点は何ですか?

EAR をどのように使用する必要がありますか? それらすべてを支配し、暗闇の中でそれらを縛る1つのEAR? (申し訳ありませんが、その LOTR 参照を行う必要がありました)、またはサーバー/Web プロジェクトごとの EAR などですか?

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

java - JPQLにそんなCASE式ってあるの?

テーブルがあるとしましょう:

および関連する JPA エンティティ クラス

この SQL に緩やかに変換された JPQL ステートメントを作成する方法、つまり case 式を JPQL に変換する方法はありますか?

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

java - StaleObjectStateException エラー

誰でも私にエラーを指摘できますか?

注: これは、実際のアプリから抽出した単純化されたテスト ケースです。したがって、3 つのエンティティ マネージャと em1.getTransaction().begin(); の奇妙な使用法。em1.clear(); em1.close(); 各セクションの終わりに。実際のアプリでは、さまざまなタイミングで発生します。HibernateUtil は基本的にチュートリアルからコピーされます。

javax.persistence.OptimisticLockException: org.hibernate.StaleObjectStateException: 行が別のトランザクションによって更新または削除されました (または保存されていない値のマッピングが正しくありません): [WebOrganizer.classes.types.StringType#174] at org.hibernate.ejb.AbstractEntityManagerImpl. org.hibernate.ejb.AbstractEntityManagerImpl.throwPersistenceException(AbstractEntityManagerImpl.java:600) で wrapStaleStateException(AbstractEntityManagerImpl.java:646) WebOrganizer.web.servlets.TypeServlet で org.hibernate.ejb.AbstractEntityManagerImpl.merge(AbstractEntityManagerImpl.java:237) で.test2(TypeServlet.java:356)、sun.reflect.NativeMethodAccessorImpl.invoke0(ネイティブ メソッド)、sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)、sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) ) Java で。lang.reflect.Method.invoke(Method.java:597) org.testng.internal.MethodHelper.invokeMethod(MethodHelper.java:580) org.testng.internal.Invoker.invokeMethod(Invoker.java:517) org .testng.internal.Invoker.invokeTestMethod(Invoker.java:669) で org.testng.internal.Invoker.invokeTestMethods(Invoker.java:956) で org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:126) でorg.testng.internal.TestMethodWorker.run(TestMethodWorker.java:110) org.testng.TestRunner.runWorkers(TestRunner.java:720) org.testng.TestRunner.privateRun(TestRunner.java:590) org.testng .TestRunner.run(TestRunner.java:484) で org.testng.SuiteRunner.runTest(SuiteRunner.java:332) で org.testng.SuiteRunner.runSequentially(SuiteRunner.java:327) で org.testng.SuiteRunner.privateRun( SuiteRunner.java:299) org.testng.SuiteRunner.run(SuiteRunner.java:204) org.testng.TestNG.createAndRunSuiteRunners(TestNG.java:864) org.testng.TestNG.runSuitesLocally(TestNG.java:830) org.testng.TestNG.run (TestNG.java:748) org.testng.remote.RemoteTestNG.run(RemoteTestNG.java:73) で org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:124) で sun.reflect.NativeMethodAccessorImpl.invoke0( Native Method) で sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) で sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) で java.lang.reflect.Method.invoke(Method.java:597) でcom.intellij.rt.execution.application.AppMain.main (AppMain.java:90) でrunSuitesLocally(TestNG.java:830) at org.testng.TestNG.run(TestNG.java:748) at org.testng.remote.RemoteTestNG.run(RemoteTestNG.java:73) at org.testng.remote.RemoteTestNG.main (RemoteTestNG.java:124) で sun.reflect.NativeMethodAccessorImpl.invoke0(ネイティブ メソッド) で sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) で sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) でjava.lang.reflect.Method.invoke(Method.java:597) at com.intellij.rt.execution.application.AppMain.main(AppMain.java:90)runSuitesLocally(TestNG.java:830) at org.testng.TestNG.run(TestNG.java:748) at org.testng.remote.RemoteTestNG.run(RemoteTestNG.java:73) at org.testng.remote.RemoteTestNG.main (RemoteTestNG.java:124) で sun.reflect.NativeMethodAccessorImpl.invoke0(ネイティブ メソッド) で sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) で sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) でjava.lang.reflect.Method.invoke(Method.java:597) at com.intellij.rt.execution.application.AppMain.main(AppMain.java:90)NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) で sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) で java.lang.reflect.Method.invoke(Method.java:597) で com.intellij.rt.execution .application.AppMain.main(AppMain.java:90)NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) で sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) で java.lang.reflect.Method.invoke(Method.java:597) で com.intellij.rt.execution .application.AppMain.main(AppMain.java:90)

原因: org.hibernate.StaleObjectStateException: 行が別のトランザクションによって更新または削除されました (または、保存されていない値のマッピングが正しくありませんでした): [WebOrganizer.classes.types.StringType#174] at org.hibernate.event.def.DefaultMergeEventListener.entityIsDetached (DefaultMergeEventListener.java:261) org.hibernate.event.def.DefaultMergeEventListener.onMerge(DefaultMergeEventListener.java:120) org.hibernate.event.def.DefaultMergeEventListener.onMerge(DefaultMergeEventListener.java:53) org.hibernate. org.hibernate.impl.SessionImpl.merge(SessionImpl.java:661) の impl.SessionImpl.fireMerge(SessionImpl.java:677) org.hibernate.impl.SessionImpl.merge(SessionImpl.java:665) の org.hibernate .ejb.AbstractEntityManagerImpl.merge(AbstractEntityManagerImpl.java:228) ... 28 もっと見る

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

java - 接続リストの最後のエントリを見つける JPA クエリを解決する

次のクラス構造が与えられます。

このクラス構造は、JPA を介してデータベースにアクセスできます。DAO 層では、JPA 構文でクエリを記述できます。

問題:特定の ID を持つ特定の所有者のエントリと、ジョブの最後の所有者Job( assignDate 順) のリストが必要です。非常に複雑に聞こえますが、おそらくもっと単純です。すべてのジョブを指定し、指定された所有者がジョブの実際の所有者です。JobHistoryJobhistoryJobHistory

更新:わかりやすくするために、クラスの名前を少し変更します。

EveryJobには、 でソートされた所有者の履歴がありassignDateます。実際の所有者は、最後に割り当てられたジョブ (つまりMAX(assignDate)) を取得しました。特定のユーザーのJobOwnerHistoryエントリをすべてのジョブで検索したい。MAX(assignDate)User

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

java - Hibernate が MySQL で無効な SQL クエリを生成する

次の JPA エンティティ クラスがあります (例)。ハウスは 1 つのストリートに属します。通りには多くの家があります。

生成タイプを ID に設定しています。これは、新しい ID を自動的に割り当てることになっています。

新しい Street を持つ新しい House を作成するときは、最初に Street を作成して保持し、次に House を作成する必要があります。これは、CascadeType を PERSIST に設定していないためで、手動で行う必要があります [1]。ただし、新しく作成されたストリートを挿入する際:

Hibernate/JPA は次の SQL クエリを生成します。

これは MySQL が好まないものです。

理由はありますか?私は Java 6、MySQL 5.0.67 を Hibernate の JPA (バージョン 3.2.1.ga) の実装と共に使用しています。

[1] EJB 3 in Action ページ 318-319

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

json - Struts2 JSON プラグインが「遅延」データで機能しない

遅延フェッチされる OneToOne 関係を持つエンティティがあります。

これは、 JSONPlugin (Struts 2 の「公式」json プラグイン) のJSONUtil クラスを使用して、すべてのエンティティを取得し、それらを JSON としてシリアル化しようとする、私が行うテストです。

そして、これは私が得る例外です (このプラグインを Struts2 アクションと @JSON アノテーションで使用した場合と同じ例外です):

私は Hibernate を使用しており、fetch=FetchType.EAGER を変更すると上記と同じコードが機能します。遅延読み込みはプロキシオブジェクトを生成し、それが失敗すると思います。

私の質問は:遅延ロードされた属性を含むオブジェクトをシリアル化することは可能ですか?

0 投票する
5 に答える
37501 参照

java - JPA/EJB3 を使用したバッチ挿入

JPA/EJB3 フレームワークは、バッチ挿入操作を行う標準的な方法を提供していますか? 永続化フレームワークに hibernate を使用しているため、Hibernate Session にフォールバックし、session.save()/session.flush() の組み合わせを使用してバッチ挿入を実現できます。しかし、EJB3 がこれをサポートしているかどうかを知りたいです...

0 投票する
10 に答える
58507 参照

java - JPAJavaコード生成

特にJPAコード生成手法を探しています

まず、プロジェクトがJPA準拠のコードを生成できるのは何ですか?(例:HibernateTools)

次に、コード生成ユーティリティもカスタマイズしたいと思います。これは、企業標準に準拠している必要があるためです。

そうでない場合、リフレクションを使用してJavaコードを生成するために利用できるすべてのフレームワークは何ですか?だから私は一から書くことができます。

注:Eclipseを使用してJPAコードを生成し、それを繰り返しリファクタリングして準拠させました。