2017-05-04 16 views
0

我在嘗試關注JDBC URL和屬性,但它不能與autoReconnect=true一起使用。休眠到MySQL自動連接鬆散甚至在JDBC中使用autoReconnect = true URL

<properties> 
    <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property> 
    <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property> 
    <property name="hibernate.connection.url">jdbc:mysql://localhost:3306/gift20da_jobportal?autoReconnect=true</property> 
    <property name="hibernate.connection.username">gift20da_jobportal</property> 
    <property name="hibernate.connection.password">[email protected]</property> 
    <property name="hibernate.connection.pool_size">10</property> 
    <property name="hibernate.show_sql">true</property> 
    <property name="hibernate.hbm2ddl.auto">update</property> 
</properties> 

有沒有其他的方法來保持連接?

+1

我在猜你會得到有關連接丟失的錯誤?我認爲問題是你可能沒有在每次請求後關閉EntityManager(Session)。你應該用一個try-finally塊來放置一個過濾器,以確保它總是被關閉。 – coladict

回答

0

這解決了我的問題。

<!-- Sessions and transactions --> 
    <!-- Use the C3P0 connection pool provider --> 
    <property name="hibernate.c3p0.min_size">5</property> 
    <property name="hibernate.c3p0.max_size">20</property> 
    <property name="hibernate.c3p0.timeout">300</property> 
    <property name="hibernate.c3p0.max_statements">50</property> 
    <property name="hibernate.c3p0.idle_test_period">3000</property> 
    <property name="current_session_context_class">thread</property> 

將此代碼添加到hibernate.cfg.xml中,以供參考http://liferay-portlets.blogspot.in/2009/01/meanwhile-hibernate-mysql-problems.html