MySQL es el ahorro de la fecha actual 1 día antes de que proporciona desde la entrada de la aplicación java

sarwar026:

Estoy utilizando siguientes especificaciones en mi proyecto actual (de producción)

  1. OS: CentOS 7
  2. Base de datos: MySQL
  3. Java 8
  4. Hibernar
  5. Tomcat Server 8

La base de datos está en servidor independiente de servidor de aplicaciones, pero ambos está en la misma LAN.

Tipo de datos en la tabla de MySQL es: datepara almacenar solamente la fecha y datetimepara ahorrar la fecha junto con el tiempo.

El problema es MySQL guarda cada Fecha 1 día antes de la fecha prevista de applcation. He intentado el siguiente hasta ahora, pero sigue sin suerte:

  1. He fijado zona horaria tanto para servidor de aplicaciones y base de datos como Asia / Dhaka y verificado esto desde mi aplicación Java también.
  2. También he creado en la zona horaria Tomcat de archivos del servidor (setenv.sh).
  3. También he comprobado el SQL generado a partir de hibernación TRACE en las propiedades de log4j archivo en el que la fecha también es la misma que la fecha de entrada.

¿Qué me estoy perdiendo? ¿Alguien puede sugerir?

sarwar026:

Gracias a todos por compartir su experiencia con respecto a la cuestión.

Por fin, lo solucioné cambiando el serverTimezoneatributo de cadena de conexión MySQL en dispatcher-servletmi aplicación web Java.

<property name="url" value="jdbc:mysql://x.x.x..x:3306/dbname?characterEncoding=utf-8&amp;useSSL=false&amp;serverTimezone=Asia/Dhaka" /> 

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=218540&siteId=1
Recomendado
Clasificación