Oracle
 sql >> Datenbank >  >> RDS >> Oracle

@Temporal(TemporalType.DATE) mit Oracle 12

Wir haben den Oracle Support kontaktiert und sie haben wie folgt geantwortet (leider kann ich keinen Link zur Antwort bereitstellen, da ein Oracle Support Account benötigt wird):

Das neue Verhalten funktioniert wie beabsichtigt :

Die Problemumgehungen haben mir geholfen:

Problemumgehung Nr. 1: Ändern Sie die Anwendung, um die Zeitkomponente nicht einzufügen (z. B. mit einer statischen UtilMethod)

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

Problemumgehung Nr. 2: Laden Sie den Patch 19297927 von MOS herunter und wenden Sie ihn an:(My Oracle Support)

  1. Klicken Sie auf die Registerkarte "Patches &Updates".
  2. Geben Sie die obige Patch-Nummer ein und klicken Sie auf Suchen.
  3. Klicken Sie in der Liste auf die Patchnummer, die Ihrer Plattform entspricht
  4. Klicken Sie auf die Download-Schaltfläche, um den Patch herunterzuladen.
  5. Lesen Sie vor dem Herunterladen alle zutreffenden Hinweise und klicken Sie dann auf die Schaltfläche "Herunterladen".

Ersetzen Sie nach dem Patchen ojdb7.jar in %Oracle_Home%\oracle_common\modules\oracle.jdbc_12.1.0 und fügen Sie -Doracle.jdbc.DateZeroTime=true hinzu zu Ihren JVM-Argumenten