Oracle 正在迁移到通用连接池 (UCP) 以维护可以借用、归还或关闭的池连接。我的 web 应用程序有它自己的数据层。此应用程序将迁移以将 JPA 与 Hibernate 一起使用。此时,我只能将 Hibernate 配置为使用 Oracle JDBC 驱动程序。
如何将 Hibernate 配置为使用 UCP?
有关于如何使用 c3p0 的文档,但这不适用于 UCP。
这是我的 Hibenate 配置,带有没有 UCP 的 JDBC 连接:
<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 连接设置,可在没有 Hibernate 的情况下直接访问:
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);