Error de enlace de comunicaciones de Hibernate en la aplicación Java Servlet basada en Hibernate con tecnología MySQL

Déjame describir mi pregunta.

Tengo una aplicación Java: Hibernate como la capa de interfaz DB sobre MySQL. Recibo el error de falla del enlace de comunicaciones en mi aplicación. La aparición de este error es un caso muy específico. Recibo este error, cuando dejo el servidor mysql desatendido durante más de aproximadamente 6 horas (es decir, cuando no se emiten consultas a MySQL durante más de aproximadamente 6 horas). Estoy pegando una descripción de nivel de 'excepción' superior a continuación, y agrego un enlace pastebin para una descripción detallada de stacktrace.

javax.persistence.PersistenceException: org.hibernate.exception.JDBCConnectionException: No se puede abrir la conexión - Causado por: org.hibernate.exception.JDBCConnectionException: No se puede abrir la conexión - Causado por: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Enlace de comunicaciones falla: el último paquete recibido con éxito del servidor fue hace 1.274.868.181.212 milisegundos. El último paquete enviado con éxito al servidor fue hace 0 milisegundos. - Causado por: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Error de enlace de comunicaciones - El último paquete recibido con éxito del servidor fue hace 1.274.868.181.212 milisegundos. El último paquete enviado con éxito al servidor fue hace 0 milisegundos. - Causado por: java.net.ConnectException: Conexión rechazada: conectar

el enlace al pastebin para una mayor investigación -http://pastebin.com/4KujAmgD

Lo que entiendo de estas declaraciones de excepción es que MySQL se niega a tomar conexiones después de un período de actividad inactiva / nula. He estado leyendo un poco sobre esto a través de la búsqueda de Google, y descubrí que una de las formas posibles de superar esto es establecer valores para las propiedades de c3p0, ya que c3p0 viene incluido con Hibernate. Específicamente, leí desde aquíhttp://www.mchange.com/projects/c3p0/index.html que establecer dos propiedades idleConnectionTestPeriod y preferredTestQuery resolverá esto por mí. Pero estos valores no parecen haber tenido efecto.

¿Es este el enfoque correcto para solucionar esto? Si no, ¿cuál es la forma correcta de superar esto?

Las siguientes son preguntas relacionadas con la falla de enlace de comunicaciones en stackoverflow.com, pero no he encontrado una respuesta satisfactoria en sus respuestas.com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: error en el enlace de comunicaciones Cómo manejarlo: falla del enlace de comunicación

Nota 1 - No recibo este error cuando estoy usando mi aplicación continuamente. Nota 2: uso JPA con Hibernate y, por lo tanto, mis propiedades hibernate.dialect, etc. hibernate residen en persistence.xml en la carpeta META-INF (¿eso impide que las propiedades c3p0 funcionen?)

editar: los parámetros de c3p0 que probé están en los comentarios

Respuestas a la pregunta(4)

Su respuesta a la pregunta