問題タブ [persistence-unit]

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

java - netbeans IDE:データソースを削除する方法

永続性ユニットを含むJavaWebアプリケーションがあります。この永続性ユニットでは、既存のデータソースを選択するか、新しいデータソースを作成できます。ビルドインGlassfishサーバーでこのWebアプリケーションを実行すると、データソースはビルドインGlassfishサーバーで作成されます。また、接続プールが作成されます。

ビルドインGlassfishサーバーのデータソースや接続プールを削除できます。これにより、NetbeansIDEからデータソースが削除されることはありません。Webアプリケーションを再度実行すると、データソースと接続プールが再作成されます。

NetBeans IDEでデータソースと接続プールを削除するにはどうすればよいですか?この機能はどこにも見つかりません。

新しいデータソース/接続プールに問題があるため、既存のデータソースと接続プールを削除したいと思います。データソース/接続プールの間のどこかで混乱が発生しないようにするために、もう使用していない古いものを削除したいと思います。

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

tomcat - Tomcat で永続化ユニットを解決する方法

Glassfish でこの Web プロジェクトをセットアップしていましたが、問題が発生したため、Tomcat に移行することにしました。

しかし、今私の永続化クラスは次のエラーをスローしています

persistence.xml を別のフォルダーに配置しようとしましたが、うまくいきませんでした。

persistence.xml

ConnectionUtil.java

私のpersistence.xmlはsrc/META-INFの下にあります

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

jpa - JPA-複数のデータソースを使用してアクセス制御を定義する

私はJPAとJSFにまったく慣れていないので、質問に答えていただければ幸いです。私のアプリケーションは、JSF 2.0フレームワークを使用して構築されており、Glassfish 3以降、MySQLで実行されているJPA 2.0/EclipseLinkを使用しています。

データソースを使用して「loginPU」という永続ユニットを1つ設定しました。「jdbc/loginDataSource」「jdbc/loginDataSource」は「login1」(mysqlusertableで定義)を使用してMySQLに接続し、にのみアクセスできますcustomeruserおよびcustomerroles選択権限のみを持つテーブル。

GlassfishJDBCResourcesで他の2つのデータソース「jdbc/admin」と「jdbc/staff」を作成しましたが、どちらも異なる権限を持っています

ログイン/認証のシナリオは次のとおりです。

  1. フォームベースの認証(ユーザー名とパスワード)を使用したユーザーログイン
  2. 永続ユニット「loginPU」および「jdbc/loginDataSource」を使用してEntityManageFactoryを作成します
  3. ユーザーロールを取得するためのクエリを作成する
  4. ユーザーロールがadminの場合、「jdbc/admin」データソースを使用して接続します
  5. ユーザーロールがスタッフの場合、「jdbc/staff」データソースを使用して接続します

上記の項目2の私のコードは次のようになります。

EntityManagerFactoryをセッション属性に保持し、JpaControllerクラスで取得することもできます

質問:4番または5番を達成するにはどうすればよいですか?それは可能ですか?どちらかのデータソースを「loginPU」永続性ユニットに割り当てることは可能ですか?loginPUとjdbc/loginDataSourceを使用して接続を確立し、jdbc / adminデータソースを使用して接続しましたが、他のエンティティにアクセスすると、エラーがスローされ、デフォルトでjdbc/loginDataSourceになります。

注:エンティティを管理するために、netbeansによって作成されたJpaControllerクラスとセッションBeanを使用しています。私のJpaControllerクラスは

私のセッションBeanはすべて@Statelessです。unitNameを使用して、unitNameを使用せずに@PersistenceContextを使用しようとしましたが、うまくいきませんでした。

役割に基づいた永続性ユニット名を使用してユーザーを接続することを期待して、persistence.xmlで複数の永続性ユニットを使用しようとしましたが、サーバーにデプロイするときにエラーが発生します。

アプリケーション管理の永続性コンテナー管理について読みました。私が達成しようとしているのは、アプリケーション管理を使用することだと思いますが、その方法がわかりません。

コンテナ管理の永続性を使用する場合、複数のデータソースを使用することは可能ですか?どんな提案でも大歓迎です。

よろしくお願いします。

[解決済み]

  1. まず、persistence.xmlを次のように定義しました。

    /li>
  2. セッションBeanで@PersistenceUnitまたは@PersistenceContextを使用していません(Netbeansを使用しており、これらのBeanはエンティティクラスからJSFページを作成したときに作成されました)

  3. すべてのセッションBeanで、次のようになります。

    /li>
  4. 上記のログインシナリオ(5項目)は7になりました:

  1. フォームベースの認証(ユーザー名とパスワード)を使用したユーザーログイン
  2. 永続ユニット「loginPU」および「jdbc/loginDataSource」を使用してEntityManageFactoryを作成します
  3. ユーザーロールを取得するためのクエリを作成する
  4. ユーザーロールがadminの場合、「jdbc/admin」データソースを使用して接続します
  5. ユーザーロールがスタッフの場合、「jdbc/staff」データソースを使用して接続します

プラス

  1. emf.close();を使用して、項目2で作成されたEntityManagerFactoryを削除またはクリアします。
  2. HttpSessionの項目4または5のいずれかで作成された新しいEntityManagerFactoryを保持します
0 投票する
1 に答える
192 参照

java - アプリケーションが破棄されると、@PersistenceUnit は EntityManagerFactory を閉じますか?

次を使用する場合

このアノテーションは、アプリケーションが破棄されたときに EntityManagerFactory が正常に閉じるようにしますか?

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

jakarta-ee - 同じクラスの複数のBeanにエンティティマネージャを挿入します

いくつかのデータベース操作を持つセッションBeanクラスがあります。複数のデータベースでクラスを使用する必要があるため、ejb-jar.xmlを構成して、このクラスから各データベースの各BeanのセッションBeanを作成します。これがコードです。

そしてここにejb-jar.xmlがあります

セッションBeanを1つだけ作成すると、期待どおりに機能します。しかし、2つ以上作成すると、次のようにデプロイ時に例外がスローされます。

ここで何が起こっているのか。誰か助けてもらえますか?提案やコメントはすべて流用されます。

なわ

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

jpa - 他の構成ファイルと一緒にpersistence.xmlを保存する方法

私はEclipseLink自分のJPA実装として使用しています。私たちのプロジェクトには、すべての構成ファイルを保持するディレクトリがあり、persistence.xmlファイルを構成ディレクトリに保存したいのcreateEntityManagerFactoryですが、persistence-unitを見つけるためにそこを探すように指示する方法が見つかりません。

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

spring - Tomcat で 1 つの Hibernate 永続化ユニットを使用して、デプロイされた war 間で共有できますか?

複数の戦争があるTomcatでアプリケーションを実行しています。

  1. War1 は、データベースのプロビジョニングに使用される Web アプリです。
  2. War2 は、Web サービス経由でデータをアップロードするためのものです。
  3. War3 は、Web サービス経由でデータを取得するためのものです。
  4. War4 は、ダッシュボードでデータを表示するために使用される別の Web アプリです。

hibernate/jpa と spring を使用します。クラスには注釈が付けられており、それらのいずれにも persistence.xml はありません。すべての構成は、Spring コンテキスト ファイルと注釈にあります。春のファイルは次のとおりです。

すべての war が単一の持続性ユニットを使用するようにするにはどうすればよいですか? ehcache を使用できるようにしたいのですが、それらがすべて独自の PU を使用している場合、使用できないことはわかっています。

私の唯一の選択肢は、JavaEE に移行してすべてを EAR にパッケージ化することですか?

ありがとう!

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

spring - より多くのデータソースを備えた春のjpa休止状態

Hibernate、Jpaを使用して、アプリケーション(春)で2つの異なるデータベースを使用する必要があります。別のテーブルを別のデータ ソースに直接定義したいと考えています。だから私は2つの異なる永続化ユニットを使用し、使用しようとしています

さまざまなテーブルをさまざまなパッケージに入れます。しかし、うまくいきません。実際、すべてのテーブルは最初のデータ ソースを使用しています。次に、永続化XMLファイルに次のようなクラスの名前を書き込もうとしました

および it.two.app.domain.second.OtherTable

しかし、ログを実行すると、テーブル「firstDB.other-table」が存在しないと表示され、サービスファイルに使用します

アイデアはありますか?これはデータ ソースの XML ファイルです

解決!!!!!!私は問題を理解しています。単に

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

persistence-unit - 同じトランザクション上の複数の持続性ユニット

2 つの異なるデータベースでトランザクションを実装しようとしています。
現在、データベースごとに永続化ユニットがあり、同じトランザクションで、スキーマ SA に存在するテーブル A に書き込み、スキーマ SB にあるテーブル B に書き込みたいと考えていました。

私は weblogic と eclipselink を使用しています。

少し検索しましたが、同じトランザクションで複数の永続ユニットを使用する例は見つかりませんでした。

誰かがこれを行う正しい方法を教えてもらえますか?

ありがとうございました

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

hibernate - Java persistence.xml 複数の永続ユニット「シンボルが見つかりません...インポート」

NetBeans-Maven-Project で問題が発生しました。同じエンティティを持つ同じpersistence.xmlに別のPersistence-Unitを追加すると、理解できないいくつかの例外が発生します。

2 番目の PU のコメントを外すと、いくつかの例外が発生します。

MaterialsLoginRESTfulWSTest は jUnit-Test であり、9 行目は「com.xxx.plugin.entities.Businesspartner のインポート」です。

私は途方に暮れています。私がそれを修正するのを手伝ってくれる答えを持っている人はいますか...

最高のあいさつザック