Me doy cuenta de que esta pregunta ya fue respondida, pero tuvimos problemas con esto hoy, así que quería dar más información para las personas que se topen con esto en el futuro.
Usando Oracle 11g con los controladores de la versión 11 si no utiliza la anotación temporal, cada tipo de datos de fecha y hora de Oracle se correlacionará con una marca de tiempo en su código en tiempo de ejecución. Funcionalmente, esto está bien, sin embargo, esto nos causó graves problemas de rendimiento. Esto se debía a que teníamos un tipo de DATE como parte de una clave primaria compuesta. Esta columna fue la columna principal del índice, así como la columna que utilizamos para la partición. Cuando el controlador intente persistir registros con esta columna en la cláusula where, Oracle realizará una conversión de tipo de los datos en el DB de DATE a TIMESTAMP. Esto hizo que el índice fuera inútil y el rendimiento fue horrible.
Larga historia, agregue esta anotación siempre que no esté preparado para pagar el precio.
Añadiré a esta pregunta una comparación con f: convertDateTime ... Saludos. –