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);
所以你要遷移到純JPA解決方案?數據源將由JTA管理? –
這是正確的:JPA解決方案使用Hibernate作爲JPA提供程序。 –
嗯,我不認爲有一個正確的答案。我最好的選擇是使用上面的代碼實現一個自定義的ConnectionProvider。但它確實需要使用UCP?標準連接池足以滿足大多數使用情況。 –