لقد واجهت هذه المشكلة com.mysql.jdbc.CommunicationsException عند استخدام Hibernate + MYSQL منذ بعض الوقت: . . . يجب أن تفكر في انتهاء صلاحية الاتصال و/أو اختباره قبل الاستخدام في التطبيق الخاص بك، أو زيادة قيم الخادم التي تم تكوينها لمهلات العميل، أو استخدام خاصية اتصال Connector/J 'autoReconnect=true' لتجنب هذه المشكلة.
بعد إجراء بعض الأبحاث، قمت أخيرًا بحل المشكلة، وتبين أنها مشكلة في إعدادات مهلة MySQL.
حلول محددة:
الطريقة الأولى: استخدم السبات لتعديل Hibernate.cfg.xml وإضافة بعض المعلمات
<property name="connection.autoReconnect">صحيح</property> rV Q w
<property name="connection.autoReconnectForPools">صحيح</property> Cw vgnlI؟
<property name="connection.is-connection-validation-required">صحيح</property> 42LtkTO ث
الطريقة الثانية: لا تقم بتعديل معلمات اتصال قاعدة البيانات باستخدام وضع السبات
قم بإضافة autoRcConnect=true إلى معلمات اتصال قاعدة البيانات
إضافة معلمات إلى عنوان URL للاتصال: autoReconnect=true =h6 yD*%
الطريقة الثالثة: نعم C3P0
<property name="hibernate.c3p0.acquire_increment">1</property> با،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.