スタンドアロン環境でOracleDataSourceを使用するようにHibernate/JPAを構成できますか?具体的には、persistence.xmlファイルを使用してoracle暗黙的接続キャッシュを構成します。これは可能ですか?事前 ブライアンJ2SE環境でHibernate JPAでOracleDataSourceを使用する
3
A
答えて
1
で
おかげで私は最近、MySQLを使用して、JSEアプリケーションで同様の問題を解決しました。あなたのケースでは、既存の接続プロバイダを使用する必要がありました。
私の場合、Apache Commons DBCPを使用しました。この接続プーリング・フレームワークを使用すると、データ・ソースを介して接続プールを作成し、persistence.xmlファイルのJPA構成で使用できる偽のドライバ名でプールを登録できます。
これが私のやり方です。まず、元のデータソースに基づいて接続プールを登録し、このプールに偽のドライバを登録しました。
private ObjectPool getNewConnectionPool(DataSource mySqlDataSource) {
try {
GenericObjectPool pool = new GenericObjectPool(null, 10);
pool.setTestOnBorrow(true);
ConnectionFactory factory = new DataSourceConnectionFactory(mySqlDataSource);
PoolableConnectionFactory poolableConnectionFactory = new PoolableConnectionFactory(factory, pool, null, "SELECT 1 FROM DUAL", false, true);
Class.forName("org.apache.commons.dbcp.PoolingDriver");
PoolingDriver driver = (PoolingDriver) DriverManager.getDriver("jdbc:apache:commons:dbcp:");
driver.registerPool("myPool", pool);
return poolableConnectionFactory.getPool();
} catch (Exception e) {
throw new RuntimeException("Unable to initialize connetion pooling", e);
}
}
次に、元のデータソースを使用する代わりに、ここからプールされたデータソースを引き続き使用します。
DataSource dataSource = new PoolingDataSource(getNewConnectionPool(mySqlDataSource));
この時点までに、接続を取得できる元の機能データソースがあります。このプールに登録されている偽のドライバを介して接続を取得することもできます。これらは、元のデータソースから取得したものでもあります。
Connection conn = DriverManager.getConnection("jdbc:apache:commons:dbcp:myPool");
だけでなく、そのため、あなたはJPAのためか、あなたはそれを作成するとき、あなたのEntityManagerFactoryに提供するプロパティであなたの接続のソースを設定するには、あなたのpersistence.xmlファイルでこのURLを使用することができます。
このJDBC URLを使用すると、プール内の接続にアクセスして、元のデータソースにアクセスできるようになります。
関連する問題
- 1. マルチテナント環境でJPA @Column(unique = true)を使用するには?
- 2. クラスタ環境でのHibernate ORM
- 3. JPA/HibernateはEJB/Seam環境でコミット時にUPDATEを発行しません
- 4. J2SEデスクトップアプリケーション - JPAデータベースとコレクション
- 5. JPA @PrePersist in試験環境
- 6. JPA分散環境のPersistenceContext
- 7. SpringとHibernateとTomcatを使用してステートレス環境でマルチテナントを実装する
- 8. マルチスレッド環境でNLogを使用する
- 9. VS2017でconda環境を使用する
- 10. Log4Netをマルチスレッド環境で使用する
- 11. RODC環境でForest.GetCurrentForestを使用する
- 12. Hibernate/JPAでのバッチインサートの使用
- 13. コンドーム環境でrpy2を使用すると、コンドーム環境外でRを使用する
- 14. 環境間で注釈付きのjpaエンティティを移動する
- 15. JPA + Hibernate強制JPAはレイジーローディングでプロキシを使用しない
- 16. コンポジットPK(Hibernate JPA)でエンティティで "findBy"を使用する方法
- 17. Spring + Hibernate + C3P0環境でConnectionProviderをビルド/取得する方法は?
- 18. インスタンス化するのEclipse RCPでJPAのEntityManager(Java SEの)環境
- 19. typescript環境でノードモジュールを使用
- 20. MVC4環境でRazorとAngular.jsを使用
- 21. ウェブ環境でシリアルポートを使用
- 22. JNDIデータソースでのJUnitによるユニットテストweblogic環境でのHibernate?
- 23. JPaとHibernateを使用することはできますか?
- 24. Railsで開発環境を運用環境で使用しているのはなぜですか?
- 25. ORDER BY Hibernate JPA 2でサブクエリを使用する
- 26. SpringデータJPAとHibernateでStatelessSessionを使用するには?
- 27. Hibernate/JPAでZODBを使用できますか?
- 28. android-j2seでサーバクライアントソケット通信でSSLを使用する
- 29. Nodewebkit環境でのロガーの使用
- 30. java:プロダクション環境でのprintStackTraceの使用