Oracle
 sql >> Database >  >> RDS >> Oracle

@Temporal(TemporalType.DATE) con Oracle 12

Abbiamo contattato il supporto Oracle e ci hanno risposto come segue (purtroppo non sono in grado di fornire il link alla risposta perché è necessario un account di supporto Oracle):

Il nuovo comportamento funziona come previsto :

Le soluzioni alternative fornite funzionano per me:

Soluzione alternativa n. 1: Modifica l'applicazione per non inserire la componente temporale (es. con un UtilMethod statico)

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(); }

Soluzione alternativa n. 2: Scarica e applica la patch 19297927 da MOS:(My Oracle Support)

  1. Fai clic sulla scheda Patch e aggiornamenti.
  2. Inserisci il numero di patch sopra e fai clic su Cerca.
  3. Fai clic sul numero di patch corrispondente alla tua piattaforma dall'elenco
  4. Fai clic sul pulsante Download per scaricare la patch.
  5. Leggi tutte le note applicabili prima del download, quindi fai clic sul pulsante Scarica.

Dopo la patch, sostituire ojdb7.jar in %Oracle_Home%\oracle_common\modules\oracle.jdbc_12.1.0 e aggiungi -Doracle.jdbc.DateZeroTime=true ai tuoi argomenti JVM