問題タブ [entitymanager]

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

java - メモリリークを避けるために EntityManager.clear() を頻繁に呼び出す必要がありますか?

私は JPA/OpenJPA を初めて使用しEntityManager.clear()、エンティティを永続化した後に呼び出さないとOutOfMemoryError(新しいエンティティをループに追加し続けます) を取得することに気付きました。これが予想される動作なのか、それとも単に OpenJPA 1.2.1 の不具合なのかはわかりません。

では、エンティティを自分で明示的にデタッチする必要がありますか? そうでない場合は、とにかく良い習慣ですか?

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

java - Glassfish JPA:EntityManagerの注入に関する問題

私はJavaEEを初めて使用します。最初の例をいくつか実行してみました(JPA)。Glassfishv3を使用しています。問題は、AppServerがEntityManagerを挿入できないことです。Hearは 、JSPクライアントで拡張したhttp://www.adam-bien.com/roller/abien/entry/ejb_3_persistence_jpa_forの一例です。

実在物:

BookServiceインターフェース:

BookServiceBean:

persistence.xml:

index.jsp:

この例を実行すると、createOrUpdate()メソッドでjava.lang.NullPointerExceptionが発生するため、entityManagerが正しく挿入されていないことは明らかです。私は今何日も治療法を見つけようとしました、そしていくつかの助けが大いにありがたいです。

ありがとう

マルセル

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

java - jboss ルックアップ エンティティ マネージャの問題

jboss 5.1GA に私の ear プロジェクトをデプロイしました。

webapp から問題はありません。私の ejb3 のルックアップは正常に動作します。

エス:

私の EntityManager の iniection も正常に動作します!

テスト環境 (私は Eclipse を使用) から、同じ ejb3 のルックアップが正常に動作します! しかし、entitymanager または PersistenceContext のルックアップは機能しません!!!

私の良いテストケース:

私の悪いテスト:

私のpersistence.xml

私のデータソース:

ejb をビルドする前にクエリをテストするには、EntityManager と PersistenceContext が必要です...

私の間違いはどこですか?

0 投票する
1 に答える
1024 参照

hibernate - Spring、Hibernate、EntityManager、およびクラスの継承

私はSpringとHibernateにかなり慣れていません。私たちのチームでは、プレゼンテーション レイヤーに Struts 2 を使用し、その下に Spring 3 と Hibernate 3 (注釈付き) を使用して Web アプリケーションを構築しています。CRUD 操作にDAO を使用するかどうか、および を使用するか、または を使用するかについては、まだ議論Session中です。EntityManagerどちらが優れているかという問題はさておき、 を使用して別の問題に遭遇しましたEntityManager

Service私の目標は、保存、削除、ID による検索、およびクラスによるすべての検索の 4 つの基本操作を公開する抽象 (ジェネリック) を作成することです。他のサービスはこれを継承し、カスタムの検索または更新を実装するだけです (これは将来変更される可能性があります)。問題は、注釈付きの をどこに置くべきかわからないことですEntityManager。私の、つまりPerson の親からActionを継承する Bobからサービスで save() を呼び出すと、サービス パーソンが呼び出されておらず、注釈が解析されていないため、システムは の注入に失敗することを理解しています。save()ServiceEntityManager@PersistenceContext

この問題を回避する方法はありますか? 簡単な操作に必要なコードの量を削減できるため、サービスに継承を使用したいと考えています。

0 投票する
1 に答える
8268 参照

java - 複数の EntityManager が必要な場合は?

私はJPAを学んでいて、1つの質問があります:

EntityManagerアプリケーションで複数必要になるのはどのような状況ですか?

私が認識している2つの状況は次のとおりです。

  • アプリケーションがマルチスレッド アプリケーションであり、複数のスレッドが JPA トランザクションEntityManagerを必要とする場合、スレッドセーフではなく、スレッドEntityManagerごとに 1 つ必要です。

  • いずれかのスレッドが複数の同時トランザクションを必要とする場合、と の間にEntityManagerは 1 対 1 の関係があるため、そのスレッドには複数のトランザクションが必要です。EntityManagerEntityTransaction


Q1. 複数が必要な状況は他にありますEntityManagerか?

Q2. EntityManagerFactory私の理解では、 Persitence Unit ごとに 1 つだけ存在するはずです。私は正しいですか?EntityManagerFactoryそうでない場合、 Persistence Unit ごとに複数必要な状況はどのようなものですか?

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

hibernate - 春にEntityManagerを注入するにはどうすればよいですか?

ここのガイドに従っていますが、DAO が実行されるとEntityManagernull.

ガイドのコメント、さまざまなフォーラム、およびここ (これを含む) で見つけた多くの修正を試みましたが、役に立ちませんでした。何をやってもEntityManager残りそうnullです。

ここに関連ファイルがあり、罪のない人を保護するためにパッケージなどが変更されています。

spring-context.xml

persistence.xml

OrderDaoImpl

0 投票する
1 に答える
1845 参照

java - GoogleAppEngine : ClassNotFoundException : javax.jdo.metadata.ComponentMetadata

ローカルで実行されている GoogleAppEngine 開発サーバーにアプリケーションをデプロイしようとしていますが、サーバーを起動すると次のスタック トレースが表示されます

GlassFish/MySQL で同じアプリケーションをローカルで実行しているため、これについて少し混乱しています。私が行ったのは、関連するjarファイルを交換し、persistence.xml.

私のapplicationContext.xmlは次のようになります:

私のJPA DAOは次のようになります

実装されたメソッドの例は次のようになります。

私が言うように、これは Glassfish/MySQL で問題なく動作しますが、このエラーが他の何かへの赤いニシンである可能性はありますか?

0 投票する
1 に答える
6191 参照

jpa - Websphere 7 EntityManagerFactory 作成の問題

私は、Seam 2.2.0、JPA プロバイダーとして hibernate 3.5.0-CR-2、データベース サーバーとして DB2、アプリケーション サーバーとして Websphere 7 を使用する Maven プロジェクトに取り組んでいます。今、私は次の問題に直面しています:

  • SEAM コンポーネントとしても表示される EJB では、Seam の EntityManager (@In private EntityManager em) ではなく、EJB コンテナー (@PersistenceContext private EntityManager em) の EntityManager を使用したいと考えています。しかし、これが問題です。@PersistenceContext を使用して EntityManager を取得できません。

サーバー ログでは、EntityManagerFactory を作成できず、ClassCastException を取得することが示されています。

java.lang.ClassCastException: org.hibernate.ejb.HibernatePersistence は javax.persistence.spi.PersistenceProvider と互換性がありません

フォーラムで多くのデバッグと検索を行った結果、Websphere が Hibernate JPA プロバイダーを使用していないことが問題であると推測しています。

誰かがこの問題に直面し、解決策を持っていますか? アプリケーションが最初にアプリケーション クラス ローダーを使用してクラスをロードするように、既に WAS クラス ローダーの順序を構成し、必要なすべての jar をアプリケーション イヤーにパックしまし。必要に応じて、persistence.xml、components.xml ファイル、およびスタック トレースを投稿します。

この問題がここでも議論されていることがわかりました:

どんなヒントも役に立ちます。
前もって感謝します!
ミハエラ

0 投票する
1 に答える
3776 参照

dao - jdbctemplate query() vs entityManager createQuery()

これらの方法の本質的な違いは何ですか?

JdbcTemplate のquery()と EntityManager のcreateQuery() ?

私が理解しているように、両方ともクエリを実行しますか?

0 投票する
1 に答える
128 参照

java - すべての新しいエンティティを永続化する方法は?

インスタンス化されたすべてのエンティティが、データベース内のタプル (& co) に対応することを期待しています。私が目にする例では、常に (コンストラクターを介して) エンティティをインスタンス化し、そのエンティティで呼び出しを永続化します。私はこれがエラーを起こしやすいと思っており、インスタンス化されたすべてのエンティティをデータベースに自動的に管理/永続化/反映させることができないかどうか疑問に思っていました (少なくともそうするつもりでした)。

これにより、インスタンス変数エンティティを永続化することもできなくなっているようです。つまり、コンストラクターで別のエンティティ (関連付けられているエンティティ) をインスタンス化するエンティティがあります。