我正在尝试在 Netbeans 的 maven java ee Web 应用程序中将 HikariCP 与 Hibernate 一起使用。这是我第一次使用 Hibernate,我还没有使用 Spring,因为我不熟悉它,但将来可能会考虑它(请随时提供我应该调整它的理由)。
在 HikariCP wiki 中,它提到:
从 Hibernate 4.3.6 开始,有一个来自 Hibernate 的官方 ConnectionProvider 类,应该使用它来代替 HikariCP 实现。该类称为 org.hibernate.hikaricp.internal.HikariCPConnectionProvider。
然后继续描述 Hibernate 4.x 的配置。它在那里谈论旧的 ConnectionProvider 类,所以我假设这部分已经过时了?
我已将以下依赖项添加到我的 POM.XML 文件中:
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-hikaricp</artifactId>
<version>4.3.8.Final</version>
</dependency>
并在 hibernate.cfg.xml 的标记中声明以下属性:
<property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
<property name="hibernate.connection.provider_class">org.hibernate.hikaricp.internal.HikariCPConnectionProvider</property>
<property name="hibernate.hikari.dataSource.url">jdbc:mysql://localhost/testdb?zeroDateTimeBehavior=convertToNull</property>
<property name="hibernate.hikari.dataSource.user">testuser</property>
<property name="hibernate.hikari.dataSource.password">password</property>
<property name="hibernate.hikari.dataSourceClassName">com.mysql.jdbc.jdbc2.optional.MysqlDataSource</property>
<property name="hibernate.hikari.dataSource.cachePrepStmts">true</property>
<property name="hibernate.hikari.dataSource.prepStmtCacheSize">250</property>
<property name="hibernate.hikari.dataSource.prepStmtCacheSqlLimit">2048</property>
<property name="hibernate.hikari.dataSource.useServerPrepStmts">true</property>
<property name="hibernate.current_session_context_class">thread</property>
我可以像以前一样使用默认的 Hibernate 连接池与数据库进行交互。这就是我需要做的吗?现在是在使用 HikariCP 连接池吗?如果不是,还需要什么其他配置?
如果我稍后集成 Spring,这将如何影响 HikariCP 配置或配置位置?