2013-07-25 83 views
1

甲骨文正在向通用連接池(UCP)保持可借池連接,退回或關閉。我的web應用程序使用它自己的數據層。此應用程序將遷移到與Hibernate一起使用JPA。此時,我只能配置Hibernate來使用Oracle JDBC驅動程序。如何配置Hibernate與UCP

怎樣才能Hibernate的配置爲使用UCP?

有關於如何使用c3p0文檔,但這並不對UCP工作。

這是不UCP JDBC連接我Hibenate配置:

<hibernate-configuration> 
    <session-factory> 
     <property name="hibernate.connection.driver_class">oracle.jdbc.driver.OracleDriver</property> 
     <property name="hibernate.connection.url">jdbc:oracle:thin:@DBSERVER:1521:DATABASE</property> 
     <property name="hibernate.connection.username">username</property> 
     <property name="hibernate.connection.password">password</property> 
     <property name="dialect">org.hibernate.dialect.OracleDialect</property> 
     .... 
     <mapping resource="Country.hbm.xml"/> 
    </session-factory> 
</hibernate-configuration> 

這些是UCP與JDBC我的連接設置爲直接訪問,而休眠:

PoolDataSource pds = PoolDataSourceFactory.getPoolDataSource(); 
pds.setConnectionFactoryClassName("oracle.jdbc.pool.OracleDataSource"); 
pds.setUser("username"); 
pds.setPassword("password"); 

pds.setConnectionFactoryProperty("driverType", "thin"); 
pds.setURL("jdbc:oracle:thin:@DBSERVER:1521:DATABASE"); 
pds.setInitialPoolSize(10); 
pds.setMaxPoolSize(200); 
+0

所以你要遷移到純JPA解決方案?數據源將由JTA管理? –

+0

這是正確的:JPA解決方案使用Hibernate作爲JPA提供程序。 –

+0

嗯,我不認爲有一個正確的答案。我最好的選擇是使用上面的代碼實現一個自定義的ConnectionProvider。但它確實需要使用UCP?標準連接池足以滿足大多數使用情況。 –

回答

相關問題