sql >> Databasteknik >  >> RDS >> Oracle

@Temporal(TemporalType.DATE) med Oracle 12

Vi har kontaktat Oracle Support och de svarade enligt följande (tyvärr kan jag inte ge en länk till svaret eftersom ett Oracle Support-konto behövs):

Det nya beteendet fungerar som avsett :

Lösningarna gav mig arbete:

Lösning #1: Ändra programmet för att inte infoga tidskomponenten (t.ex. med en statisk 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(); }

Lösning #2: Ladda ner och applicera patch 19297927 från MOS:(My Oracle Support)

  1. Klicka på fliken Patchar &Updates.
  2. Ange patchnumret ovan och klicka på Sök.
  3. Klicka på patchnumret som motsvarar din plattform från listan
  4. Klicka på knappen Ladda ner för att ladda ner patchen.
  5. Läs alla tillämpliga anteckningar innan du laddar ned och klicka sedan på knappen Ladda ned.

Efter korrigering byt ut ojdb7.jar i %Oracle_Home%\oracle_common\modules\oracle.jdbc_12.1.0 och lägg till -Doracle.jdbc.DateZeroTime=true till dina JVM-argument




  1. CakePHP-frågaförberedelse med join-sats och underfråga

  2. Vad är motsatsen till GROUP_CONCAT i MySQL?

  3. Fixar PHP PEAR-fel

  4. hämta tabellnamn från en kolumn för från-sats