sql >> Base de Datos >  >> RDS >> Oracle

@Temporal(TemporalType.DATE) con Oracle 12

Nos pusimos en contacto con el soporte de Oracle y respondieron lo siguiente (lamentablemente, no puedo proporcionar un enlace a la respuesta porque se necesita una cuenta de soporte de Oracle):

El nuevo comportamiento funciona según lo previsto :

Las soluciones alternativas me proporcionaron trabajo:

Solución alternativa n.º 1: Modifique la aplicación para que no inserte el componente de tiempo (por ejemplo, con un UtilMethod estático)

public static Date truncateTime(Date date) { Calendar calendar = Calendar.getInstance(); calendar.setTime(date); calendar.set(Calendar.HOUR_OF_DAY, 0); calendar.set(Calendar.MINUTE, 0); calendar.set(Calendar.SECOND, 0); calendar.set(Calendar.MILLISECOND, 0); return calendar.getTime(); }

Solución alternativa n.º 2: Descargue y aplique el parche 19297927 de MOS:(My Oracle Support)

  1. Haga clic en la pestaña Parches y actualizaciones.
  2. Ingrese el número de parche anterior y haga clic en Buscar.
  3. Haga clic en el número de parche correspondiente a su plataforma de la lista
  4. Haga clic en el botón Descargar para descargar el parche.
  5. Lea las notas correspondientes antes de descargar, luego haga clic en el botón Descargar.

Después de parchear, reemplace ojdb7.jar en %Oracle_Home%\oracle_common\modules\oracle.jdbc_12.1.0 y agregue -Doracle.jdbc.DateZeroTime=true a sus argumentos JVM