ฉันพบปัญหานี้ com.mysql.jdbc.CommunicationsException เมื่อใช้ Hibernate + MYSQL เมื่อไม่นานมานี้: - - คุณควรพิจารณาการหมดอายุและ/หรือทดสอบความถูกต้องของการเชื่อมต่อก่อนที่จะใช้ในแอปพลิเคชันของคุณ เพิ่มค่าที่กำหนดค่าของเซิร์ฟเวอร์สำหรับการหมดเวลาของไคลเอ็นต์ หรือใช้คุณสมบัติการเชื่อมต่อ Connector/J 'autoReconnect=true' เพื่อหลีกเลี่ยงปัญหานี้
หลังจากการค้นคว้า ในที่สุดฉันก็แก้ไขปัญหาได้ ในที่สุดปัญหาก็เกิดขึ้นกับการตั้งค่าการหมดเวลาของ mysql
โซลูชั่นเฉพาะ:
วิธีที่ 1: ใช้ไฮเบอร์เนตเพื่อแก้ไข Hibernate.cfg.xml และเพิ่มพารามิเตอร์บางตัว
<property name="connection.autoReconnect">true</property> rV Q w
<property name="connection.autoReconnectForPools">จริง</property> ต้องการ vgnlI หรือไม่?
<property name="connection.is-connection-validation-required">จริง</property> 42LtkTO w
วิธีที่ 2: ห้ามปรับเปลี่ยนพารามิเตอร์การเชื่อมต่อฐานข้อมูลด้วยการไฮเบอร์เนต
เพิ่ม autoRcConnect=true ให้กับพารามิเตอร์การเชื่อมต่อฐานข้อมูล
เพิ่มพารามิเตอร์ให้กับ URL การเชื่อมต่อ: autoReconnect=true =h6 yD*%
วิธีที่สาม: ใช่ C3P0
<ชื่อคุณสมบัติ="hibernate.c3p0.acquire_increation">1</คุณสมบัติ> ba,oxjRa
<property name="hibernate.c3p0.idle_test_ period">0</property> juTE)lO&}
<ชื่อคุณสมบัติ="hibernate.c3p0.timeout">0</คุณสมบัติ> ]g11Q ^3;
<property name="hibernate.c3p0.validate">จริง</property>
นี่จะช่วยแก้ปัญหาได้
บทความนี้มาจากบล็อก CSDN โปรดระบุแหล่งที่มาเมื่อพิมพ์ซ้ำ: http://blog.csdn.net/zm12037/archive/2009/12/30/5109240.aspx