Kontaktovali jsme podporu Oracle a oni odpověděli následovně (bohužel nemohu poskytnout odkaz na odpověď, protože je potřeba účet podpory Oracle):
Nové chování funguje tak, jak bylo zamýšleno :
Řešení mi poskytlo práci:
Řešení č. 1: Upravte aplikaci tak, aby nevkládala časovou komponentu (např. pomocí statické metody 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();
}
Řešení č. 2: Stáhněte a použijte opravu 19297927 z MOS:(My Oracle Support)
- Klikněte na kartu Opravy a aktualizace.
- Zadejte výše uvedené číslo opravy a klikněte na Hledat.
- V seznamu klikněte na číslo opravy, které odpovídá vaší platformě
- Kliknutím na tlačítko Stáhnout opravu stáhnete.
- Před stažením si přečtěte všechny příslušné poznámky a poté klikněte na tlačítko Stáhnout.
Po opravě nahraďte soubor ojdb7.jar v %Oracle_Home%\oracle_common\modules\oracle.jdbc_12.1.0
a přidejte -Doracle.jdbc.DateZeroTime=true
k vašim argumentům JVM