Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

@Temporal(TemporalType.DATE) com Oracle 12


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)
  1. Clique na guia Patches e atualizações.
  2. Digite o número do patch acima e clique em Pesquisar.
  3. Clique no número do patch que corresponde à sua plataforma na lista
  4. Clique no botão Download para baixar o patch.
  5. 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