Hibernate语句池不适用于使用C3P0的DB29.7

Hibernate语句池不适用于使用C3P0的DB29.7,hibernate,c3p0,Hibernate,C3p0,这是Hibernate配置文件。 我正在尝试使用准备好的语句缓存,但是使用不同的参数,获取缓存未命中,并且在全局语句缓存中添加了一个新条目。我正在使用DB29.7和JDBC4.0驱动程序。您的池最多可以包含200个连接,并且您已经设置了50个PreparedStatements的全局最大值。在容量上,您的连接将平均缓存0.25条语句,或者更直截了当地说,四分之三的连接将不会缓存任何语句。很可能您的应用程序使用了多个PreparedStatement,因此即使是那些缓存了语句的少数幸运连接,也大多

这是Hibernate配置文件。
我正在尝试使用准备好的语句缓存,但是使用不同的参数,获取缓存未命中,并且在全局语句缓存中添加了一个新条目。我正在使用DB29.7和JDBC4.0驱动程序。

您的池最多可以包含200个连接,并且您已经设置了50个PreparedStatements的全局最大值。在容量上,您的连接将平均缓存0.25条语句,或者更直截了当地说,四分之三的连接将不会缓存任何语句。很可能您的应用程序使用了多个PreparedStatement,因此即使是那些缓存了语句的少数幸运连接,也大多会导致缓存未命中

如果要减少未命中,请将max_语句设置为更高的值,或者更好,完全取消max_语句设置,并尝试更容易解释maxStatementsPerConnection设置。将其设置为应用程序中经常使用的PreparedStatements的数量

有关更多信息,请参阅

<hibernate-configuration>
 <session-factory name="sessionFactory">

  <!-- Database connection settings -->

  <property name="connection.driver_class">com.ibm.db2.jcc.DB2Driver</property>
  <property name="connection.url">jdbc:db2://xx.xx.xx.xx:*****/DB</property>



  <property name="connection.username">XYZ</property>
  <property name="connection.password">XYZW</property>
  <property name="hibernate.connection.provider_class">org.hibernate.connection.C3P0ConnectionProvider</property>
  <property name="hibernate.c3p0.min_size">50</property>
  <property name="hibernate.c3p0.max_size">200</property>  
  <property name="hibernate.c3p0.max_statements">50</property>
  <property name="hibernate.c3p0.idle_test_period">1800</property>
  <property name="hibernate.c3p0.timeout">3600</property>   
  <property name="dialect">org.hibernate.dialect.DB2Dialect</property>   
  <property name="current_session_context_class">thread</property>
  <property name="cache.provider_class">org.hibernate.cache.NoCacheProvider</property>
  <property name="hibernate.connection.release_mode">auto</property>  
  <property name="show_sql">true</property>
  <property name="hbm2ddl.auto">false</property>





 </session-factory>


</hibernate-configuration>