Entramos em contato com o suporte da Oracle e eles responderam da seguinte forma (infelizmente não posso fornecer o link para a resposta porque é necessária uma conta de suporte da Oracle):
O novo comportamento funciona como pretendido :
As soluções alternativas forneceram trabalho para mim:
Solução nº 1: Modifique o aplicativo para não inserir o componente de tempo (por exemplo, com um 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();
}
Solução nº 2: Baixe e aplique o patch 19297927 do MOS:(My Oracle Support)
- Clique na guia Patches e atualizações.
- Digite o número do patch acima e clique em Pesquisar.
- Clique no número do patch que corresponde à sua plataforma na lista
- Clique no botão Download para baixar o patch.
- Leia as notas aplicáveis antes de fazer o download e clique no botão Download.
Após a correção, substitua ojdb7.jar em
%Oracle_Home%\oracle_common\modules\oracle.jdbc_12.1.0
e adicione -Doracle.jdbc.DateZeroTime=true
para seus argumentos JVM