<hibernate-configuration>
<session-factory>

<property name="dialect">org.hibernate.dialect.Oracle9Dialect</property>
<property name="show_sql">true</property>
<property name="current_session_context_class">thread</property>
<!--Fetch Size 是設(shè)定JDBC的Statement讀取數(shù)據(jù)的時候每次從數(shù)據(jù)庫中取出的記錄條數(shù)-->
<property name="jdbc.fetch_size">20</property>
<!--Batch Size是設(shè)定對數(shù)據(jù)庫進(jìn)行批量刪除,批量更新和批量插入的時候的批次大小,有點相當(dāng)于設(shè)置Buffer緩沖區(qū)大小的意思-->
<property name="jdbc.batch_size ">20</property>
<property name="connection.username">HNMC</property>
<property name="connection.password">sundy</property>
<property name="connection.url">jdbc:oracle:thin:@192.168.0.20:1521:ora9</property>
<property name="connection.driver_class">oracle.jdbc.driver.OracleDriver</property>

<!--??在這種情況下,沒問題啊 -->
<property name="c3p0.timeout">60</property>
<property name="c3p0.idle_test_period">600</property>


<!--????

<!--<property name="c3p0.idle_test_period">120</property>-->
如改以下倆值,或他們差距很大:

<property name="c3p0.timeout">600</property>

<!--<property name="c3p0.idle_test_period">60</property>-->

當(dāng)我啟動tomcat,運行程序后,空閑600后出現(xiàn)下列異常,但程序還照常運行

-->

<!--?

Hibernate里可以設(shè)置的屬性不多:
#c3p0-native property name hibernate configuration key
#c3p0.acquireIncrement hibernate.c3p0.acquire_increment
#c3p0.idleConnectionTestPeriod hibernate.c3p0.idle_test_period
#c3p0.initialPoolSize not available -- uses minimum size
#c3p0.maxIdleTime hibernate.c3p0.timeout
#c3p0.maxPoolSize hibernate.c3p0.max_size
#c3p0.maxStatements hibernate.c3p0.max_statements
#c3p0.minPoolSize hibernate.c3p0.min_size
#c3p0.testConnectionsOnCheckout hibernate.c3p0.validate hibernate 2.x only!

另外的屬性你需要配置c3p0.properties
比如:
c3p0.acquireRetryDelay=111
c3p0.acquireRetryAttempts=22
c3p0.breakAfterAcquireFailure=true

-->



<property name="hibernate.connection.provider_class">org.hibernate.connection.C3P0ConnectionProvider</property>
<property name="hibernate.c3p0.max_size">2</property>
<property name="hibernate.c3p0.min_size">2</property>
<property name="hibernate.c3p0.timeout">50000</property>
<property name="hibernate.c3p0.max_statements">100</property>
<property name="hibernate.c3p0.idle_test_period">3000</property>
<property name="hibernate.c3p0.acquire_increment">2</property>

<!-- 另<property name="hibernate.c3p0.validate">false</property>確實在hibernate中不可設(shè)置??-->
<property name="hibernate.c3p0.validate">false</property>


<!--C3P0 setting-->

<property name="c3p0.max_size">20</property>
<property name="c3p0.min_size">5</property>
<!--獲取連接的等待時間-->
<property name="c3p0.timeout">3600</property>
<property name="c3p0.max_statements">100</property>
<!--每隔3600毫秒測試連接是否可以正常使用-->
<property name="c3p0.idle_test_period">3600</property>
<property name="c3p0.acquire_increment">2</property>

<mapping resource="com/sundy/hnmc/beans/AccountBean.hbm.xml"/>
</session-factory>
</hibernate-configuration>



另一個設(shè)置
?<!--?數(shù)據(jù)源配置?-->
????
<bean?id="dataSource"?class="com.mchange.v2.c3p0.ComboPooledDataSource"?destroy-method="close">
??????
<property?name="driverClass">
????????
<value>org.gjt.mm.mysql.Driver</value>
??????
</property>
??????
<property?name="jdbcUrl">
????????
<value>jdbc:mysql://localhost/tycho?useUnicode=true&amp;characterEncoding=utf-8</value>
??????
</property>
??????
<property?name="properties">
????????
<props>
????????????
<prop?key="hibernate.hbm2ddl.auto">update</prop>?
????????????
<prop?key="c3p0.minPoolSize">1</prop>?
????????????
<prop?key="hc3p0.maxPoolSize">10</prop>?
????????????
<prop?key="hc3p0.timeout">60</prop>?
????????????
<prop?key="c3p0.max_statement">50</prop>?
????????????
<prop?key="c3p0.testConnectionOnCheckout">true</prop>?
????????????
<prop?key="hibernate.c3p0.testConnectionOnCheckout">false</prop>
????????????
<prop?key="user">root</prop>?
????????????
<prop?key="password">root</prop>
????????
</props>
??????
</property>
????
</bean>



<property name="hibernate.connection.provider_class">org.hibernate.connection.C3P0ConnectionProvider</property>
<property name="hibernate.c3p0.max_size">20</property>
<property name="hibernate.c3p0.min_size">5</property>
<property name="hibernate.c3p0.timeout">120</property>
<property name="hibernate.c3p0.max_statements">100</property>
<property name="hibernate.c3p0.idle_test_period">120</property>
<property name="hibernate.c3p0.acquire_increment">2</property>


?

?

?

?