如何配置 Hibernate 5 SessionFactoryBean 以使用 HikariCP?

How to configure Hibernate 5 SessionFactoryBean for using HikariCP?

我应该在哪里为 spring + hibernate 应用程序配置连接池?

<bean id="sessionFactory" class="org.springframework.orm.hibernate5.LocalSessionFactoryBean">
    <property name="dataSource" ref="dataSource"/>
    <property name="packagesToScan" value="edu.khai.education.entity"/>
    <property name="hibernateProperties">
        <props>
            <prop key="hibernate.show_sql">true</prop>
            <prop key="hibernate.dialect">org.hibernate.dialect.H2Dialect</prop>
        </props>
    </property>
</bean>

<bean id="dataSource" class="org.apache.commons.dbcp2.BasicDataSource">
    <property name="driverClassName" value="org.h2.Driver"/>
    <property name="url" value="jdbc:h2:tcp://localhost/~/test"/>
    <property name="username" value="sa"/>
    <property name="password" value=""/>
</bean>

<bean id="txManager" class="org.springframework.orm.hibernate5.HibernateTransactionManager">
    <property name="sessionFactory" ref="sessionFactory"/>
</bean>

我想使用 org.hibernate.hikaricp.internal.HikariCPConnectionProvider,在 Hibernate 应用程序中配置它没有问题,但我不知道如何将它与 Spring 集成。

Spring 使用 DataSource bean 创建大量基础设施代码,例如JdbcTemplate 或 Spring 数据 JPA @Repository.

将当前数据源实现 org.apache.commons.dbcp2.BasicDataSource 替换为 com.zaxxer.hikari.HikariDataSource class。更改当前属性以匹配 HikariCP configuration.