Comparación de fecha de Oracle rota debido a horario de verano

Hemos estado depurando un problema con una consulta SQL ejecutada desde un servidor de aplicaciones que ejecuta Java a través de Hibernate. El error:

[3/10/14 10:52:07:143 EDT] 0000a984 JDBCException W org.hibernate.util.JDBCExceptionReporter logExceptions SQL Error: 1878, SQLState: 22008
[3/10/14 10:52:07:144 EDT] 0000a984 JDBCException E org.hibernate.util.JDBCExceptionReporter logExceptions ORA-01878: specified field not found in datetime or interval

Hemos podido reducir esto al simple SQL a continuación.

select * 
from MY_TABLE T
where T.MY_TIMESTAMP >= (CURRENT_TIMESTAMP - interval '1' hour );

Cuando ejecutamos esto en la misma base de datos, obtenemos el error:

ORA-01878: specified field not found in datetime or interval
01878. 00000 -  "specified field not found in datetime or interval"
*Cause:    The specified field was not found in the datetime or interval.
*Action:   Make sure that the specified field is in the datetime or interval.

losMY_TIMESTAMP la columna se define comoTIMESTAMP(6).

FWIW, si cambiamos la comparación en el SQL anterior de>= a<=, la consulta funciona.

Asumimos que esto tiene algo que ver con el cambio de hora (estamos en Estados Unidos / Nueva York), pero estamos teniendo problemas para tratar de averiguar a dónde ir desde aquí con nuestra depuración.

Además, hemos visto este problema con una consulta similar que se ejecuta a través de MyBatis y el error se ve así:

### Error querying database.  Cause: java.sql.SQLException: ORA-01878: specified field not found in datetime or interval

### The error may involve defaultParameterMap
### The error occurred while setting parameters
### Cause: java.sql.SQLException: ORA-01878: specified field not found in datetime or interval

ACTUALIZACIÓN: Un compañero de equipo en Windows cambió su configuración de fecha y hora de Windows desmarcando "Ajustar automáticamente el reloj para el horario de verano" y luego abrió una nueva instancia de SQLDeveloper. La segunda instancia puede ejecutar la consulta sin ningún problema, pero la primera (con la configuración anterior de DST) aún falla.

Respuestas a la pregunta(0)

Su respuesta a la pregunta