我正在尝试在Netbeans的maven java ee web应用程序中使用HikariCP和Hibernate。这是我第一次使用Hibernate,我还没有使用Spring,因为我对它不熟悉,但未来可能会考虑它(请随时提供我应该调整它的原因)。
在HikariCP维基中,它提到:
从Hibernate 4.3.6开始,有一个官方的ConnectionProvider类 来自Hibernate,应该用来代替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配置或配置位置?