当前位置: 首页 > 知识库问答 >
问题:

如何用UCP配置Hibernate

夏侯玄天
2023-03-14

Oracle正在转向通用连接池(UCP),用于维护可以借用、返回或关闭的池连接。我的webapplication在它自己的数据层中就有了这一点。这个应用程序将迁移到使用Hibernate的JPA。此时,我只能将Hibernate配置为使用Oracle 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>
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);

共有1个答案

尹光辉
2023-03-14

您必须实现ConnectionProvider来将OracleConnectionPool与Hibernate接口。

下面是这样实现的一个示例:https://forum.hibernate.org/viewtopic.php?p=2452561.

 类似资料:
  • 需求:创建一个多租户应用程序,该应用程序应该根据请求中的租户id将每个租户的数据插入到各自的PDB中。换句话说,每个租户或客户在CDB中都有自己的PDB,所有PDB都有相同的模式,然后根据请求中的租户Id选择一个数据源,并将数据插入到该PDB中。 Stack-Spring boot 2.3.0.发行版,Oracle 18c,连接池-Oracle共享通用连接池 UCP连接: Spring数据源配置类

  • 我现在正在使用rails应用程序。在我的应用程序配置文件中,我添加了以下内容: config/application.rb 为什么未能连接fluentd关于sidekiq和web图像? 将其添加到: 将其添加到:

  • 我有一个UBUNTU/APACHE框,当我尝试使用主机名访问web服务器时,它会将我带到DocumentRoot(即/var/www),并显示那里的所有文件/文件夹(如预期的那样)。 在我的 /var/www我有几个文件夹,如 /var/www/devel和var/www/live,我如何更新我的配置,以便当我通过它的主机名[超文本传输协议://servername]击中服务器时,它会进入默认情况

  • 这段配置通过上下文进行扫描--我用调试器检查了它。问题可能出在哪里?

  • 但是如果我让Spring Boot自动配置JOOQ,那么我应该把这个设置放在哪里呢? 基本的Spring Boot配置似乎只支持在中设置,如jooq-spring-boot-example所示。 我尝试将放入中,但这对SQL没有任何影响。 有没有办法自定义Spring boot JOOQ配置,而不必自己配置JOOQ? 我使用的是SpringBoot 2.1.7.Release和JOOQ 3.11.

  • 我想升级到Hibernate 5,但由于某种奇怪的原因,我无法让它工作。 Hibernate 4的spring上下文配置如下: 我省略了数据源和hibernateClassesbean定义。 对于Hibernate 5,我将包名更改为hibernate5,如下所示: 当我运行我的测试时,应用程序上下文无法启动,因为它找不到LocalSessionFactoryBean类:-S。这个类驻留在spin