問題タブ [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.
java - EntityManagerFactoryインスタンスはいつ作成/開く必要がありますか?
わかりました。エンティティマネージャファクトリをシングルトンで作成する方法について、たくさんの記事/例を読みました。
私が少し理解するのが最も簡単なものの1つ:
http://javanotepad.blogspot.com/2007/05/jpa-entitymanagerfactory-in-web.html
EntityManagerFactory(EMF)は、できればアプリケーションスコープで一度だけ作成する必要があることを学びました。
また、EMFを使用したら必ず閉じてください(?)
そこで、ビジネスメソッドで使用するEMFヘルパークラスを作成しました。
そして、EmProviderを使用する私の方法:
提案されているように、メソッドレベル内でEntityManager(em)を閉じるようにしました。しかし、EntityManagerFactoryはいつ閉じる必要がありますか?そして、なぜEMFはシングルトンでなければならないのですか?並行性の問題について読みましたが、マルチスレッドグラマーの経験がないため、このアイデアを明確にすることはできません。
spring - EntityManager と PersistenceContextType.EXTENDED を持つ 2 つの DAO
アプリケーションのエンティティ マネージャに問題があります。次のような 2 つの DAO クラスがあります。
2 番目の DAO は ClassB 用で、DaoA に似ています。残りの作業は、Spring フレームワークによって行われます。
アプリケーションをデバッグしているときに、両方の DAO オブジェクトが EntityManager の異なるインスタンスを持っていることに気付きました。その結果、2 つの異なる DAO が異なる PersistenceContext に接続されています。
問題は、これが正しい動作かどうかです。すべての DAO クラスに同じ PersistenceContext を使用したいと考えています。これが可能で、JPAを正しく理解していればヒントを教えてください。
よろしく Hsd
java - TestNG: 次のテスト方法を特定する
私の目標は、各テスト メソッドの後に javax.persistence.EntityManager を clear() することです。
テスト クラスの例を次に示します。
entityManager は、DB にテスト データを照会することによって、dataProvider "sampleDataProvider" で使用されます。テスト データは、次の形式でコンパイルされますnew Object[2][1]
。データのクエリとコンパイルはすべて、テスト メソッド (@DataProvider で注釈を付けたもの) が実際に実行される前に行われ、文字列だけでなくエンティティを実際にクエリしていることに注意してください。
上記のテスト クラスは次のように実行されます。
私の最初の解決策は、@AfterTest
注釈を使用して entityManager をクリアすることでした。ただし"some queried entity 2"
、 の 2 回目の実行 (または 2 回目のテスト インスタンス) の前に entityManager から切り離さtestA
れtestB
、 のメンバーへの読み取り/書き込み操作で問題が発生します"some queried entity 2"
。
私の目標は、テスト メソッドの後に entityManager をクリアすることであり、必ずしもテスト メソッドのすべてのインスタンスの後であるとは限りません。
TestNG は、次に実行されるテストを知ることを可能にしますか? そうすれば、次のテストが新しいテストである場合、entityManager を簡単にクリアできます。
他の推奨事項はありますか?
hibernate - javax.persistence.entitymanager は JPA インターフェースですか?
今日、私は混乱しました。javax.persistence.entitymanager は JPA インターフェースですか?
ありがとう
testng - TestNGリスナー:@DataProviderのインターセプト
これは、これに対するフォローアップの質問です。
テストメソッドを傍受することが可能であることに気づきました。ただし、entityManagerを安全にクリアするのに最適なタイミングは、@DataProviderメソッドが実行される前のようです。
これは可能ですか?
java - ジャバ/JPA | 継承型を指定したクエリ
汎用テーブル「Sample」でクエリを作成しています。このテーブル「SampleOne」、「SampleTwo」から継承するいくつかのタイプがあります。次のようなクエリが必要です。
ここで、type はテーブルの識別子の値です。何らかの方法で可能ですか (SampleOne、SampleTwo ごとに 1 つずつ、エンティティ固有のクエリを作成することは避けてください)。
このトピックへのご意見をお待ちしております。
よろしく、P.
model-view-controller - モデルの Symfony2 entityManager
モデルで entity_manager を使用します。ただし、entity_manager は controller: でのみ使用できますthrow $em = $this->get('doctrine.orm.entity_manager')
。そのため、パラメーターを使用してモデル メソッドを定義する必要があり$em
ます。これにより、phpUnit のテストがかなり難しくなり、アプリケーションの構造に違反します。例えば:
モデル セクションで entity_manager サービスを使用する方法はありますか?
hibernate - Seam-(Session)em.getDelegate();を介して接続を取得します。
Seamフレームワークを使用しています。
私が行った場合
これは新しい接続ですか?また、接続を手動で閉じる必要がありますか?
これをWeblogicアプリサーバーのループでテストしました。
また、コンソールでWeblogicプールの制限がリソース不足であり、プールへの非アクティブな接続が強制されていないことを確認したことはありません。
java - ステートレスな再利用可能なEntityManagerインジェクション?
JBoss6。
私は、クラスを@Statelessとしてマークし、それを再利用可能なWebサービスとして注釈を付けることができると信じるようになりました。
これまでのところすべて順調で、私のコードはデプロイして実行されているようです。
しかし、相変わらず...私のEntityManagerは注入されず、nullのままです。Resteasyアノテーションなしで別のクラスを作成し、@ Statelessとしてマークし、EntityManagerを注入して、それを私のresteasy Webサービスに注入しようとしましたが、今回は他のステートレスセッションBeanの注入はnullです。
EntityManagerを@StatelessresteasyWebサービスに注入できる必要がありますか?そうでない場合、どうすれば1つを入手できますか?ステートレスセッションBeanを作成し、代わりにサーブレットに挿入することができませんでしたか?
前もって感謝します。
gwt - GWT RequestFactory: リクエストごとに単一の EntityManager を使用する方法
添付されたエンティティRequestFactory
を永続化するには、各リクエストで同じものを使用する必要があります。EntityManager
実装に基づいて独自の Factory クラスをまとめましたThreadLocal
が、リソースを適切に解放する方法がわかりません (たとえば、リクエストが終了したことを確認して を呼び出す方法close()
)。
完全な J2EE/CDI に頼ることなく、単一の EntityManager が特定の ServletRequest 全体で確実に使用されるようにする簡単な方法はありますか? 必要に応じてそのルートをたどりますが、特に GWT に付属する軽量の開発サーバーを引き続き使用したいので、物事をシンプルに保つことを望んでいました。