前段时间使用Hibernate + MYSQL遇到了这个问题com.mysql.jdbc.CommunicationsException : 。。。You should consider either expiring and/or testing connection validity before use in your application, increasing the server configured values for client timeouts, or using the Connector/J connection property 'autoReconnect=true' to avoid this problem.
查了一下终于解决了这个问题,原来是mysql超时设置的问题
具体解决方法:
方法一:使用hibernate 修改Hibernate.cfg.xml加入一下参数
<property name="connection.autoReconnect">true</property>
<property name="connection.autoReconnectForPools">true</property>
<property name="connection.is-connection-validation-required">true</property>
方法二:不是也hibernate 修改数据库连接参数
数据库连接参数中加入autoRcConnect=true
connection url加参数: autoReconnect=true
方法三:是也C3P0
<property name="hibernate.c3p0.acquire_increment">1</property>
<property name="hibernate.c3p0.idle_test_period">0</property>
<property name="hibernate.c3p0.timeout">0</property>
<property name="hibernate.c3p0.validate">true</property>
这样就可以解决问题。