如何确定当前的ConnectionProvider配置

时间:2019-04-15 17:59:50

标签: hibernate jpa hikaricp

我们碰巧通过Hibernate使用HikariCP通过JPA进行连接池,但是我们的框架以相当抽象的方式进行了设置。要创建EntityManager,我们在属性Map中设置hibernate.connection.[url/username/password],然后调用Persistence.createEntityManagerFactory("PersistenceUnit", propertiesMap);

我们的persistence.xml具有:

<persistence-unit name="PersistenceUnit" transaction-type="RESOURCE_LOCAL">
  <provider>org.hibernate.jpa.HibernatePersistenceProvider</provider>
  <properties>
    <property name="hibernate.connection.driver_class" value="com.mysql.jdbc.Driver"/>
    <property name="hibernate.dialect" value="org.hibernate.dialect.MySQL57InnoDBDialect"/>
    <property name="hibernate.hbm2ddl.auto" value="update"/>
    <property name="hibernate.cache.use_second_level_cache" value="false"/>
    <property name="hibernate.connection.provider_class" value="org.hibernate.hikaricp.internal.HikariCPConnectionProvider"/>
  </properties>
</persistence-unit>

我知道通过此方法返回的EntityManagerFactory和EntityManagers是通过HikariCP进行池化的,但是我们正在尝试调试一些事情,并希望了解我们所有实际的HikariCP配置值。我只是想不通如何刺穿抽象并获得任何具体的实现对象。

理想情况下,我想知道人们通常是如何通过JPA API检索此信息的,但是我将解决所有转储HikariCP当前设置的技巧。

0 个答案:

没有答案