Я столкнулся с этой проблемой com.mysql.jdbc.CommunicationsException при использовании Hibernate + MYSQL некоторое время назад: . . . Чтобы избежать этой проблемы, вам следует рассмотреть возможность истечения срока действия и/или проверки срока действия соединения в вашем приложении, увеличения настроенных на сервере значений таймаутов клиента или использования свойства соединения Connector/J 'autoReconnect=true', xqnbsp;
После некоторых исследований я наконец решил проблему. Оказалось, что проблема связана с настройками тайм-аута MySQL.
Конкретные решения:
Способ 1. Используйте hibernate, чтобы изменить Hibernate.cfg.xml и добавить некоторые параметры.
<property name="connection.autoReconnect">true</property> rV Q w
<property name="connection.autoReconnectForPools">true</property> Cw vgnlI?
<property name="connection.is-connection-validation-required">true</property> 42LtkTO w
Способ 2. Не изменяйте параметры подключения к базе данных с помощью спящего режима.
Добавьте autoRcConnect=true в параметры подключения к базе данных.
Добавьте параметры в URL-адрес подключения: autoReconnect=true =h6 yD*%
Способ третий: Да C3P0
<property name="hibernate.c3p0.acquire_increment">1</property> ba,oxjRa
<property name="hibernate.c3p0.idle_test_ period">0</property> jUTE)lO&}
<property name="hibernate.c3p0.timeout">0</property> ]g11Q ^3;
<property name="hibernate.c3p0.validate">истина</property>
Это решит проблему.
Эта статья взята из блога CSDN. При перепечатке указывайте источник: http://blog.csdn.net/zm12037/archive/2009/12/30/5109240.aspx.