Ver Mensaje Individual
  #1 (permalink)  
Antiguo 29/03/2011, 05:57
Santics
 
Fecha de Ingreso: diciembre-2008
Mensajes: 9
Antigüedad: 15 años, 4 meses
Puntos: 1
Sesion oracle de Spring + Daylight Saving

Buenas foreros!

Estoy teniendo problemas con el cambio de hora y los current_timestamp. Os resumo el escenario:
  • Aplicacion en JAVA
  • Framework Spring
  • Base de datos Oracle 11g
  • Clase JDBCTemplate

El problema surge cuando ejecuto una sentencia sql con el tipico current_timestamp para constatar el momento exacto del cambio en el registro:

Código:
	private final String sqlInsertar = new StringBuilder()
		.append("INSERT INTO tabla(")
		.append("CampoDate, ")
		.append("CampoChar, ")
		.append("CampoTimestamp_1, ")
		.append("CampoTimestamp_2) ")
		.append("VALUES(?, ?, ?, current_timestamp)")
		.toString();

/----/

jdbcTemplate.update(sqlInsertar,
				new Object[]{
					ficheroVO.getCampoDate(),
					ficheroVO.getCampoChar(),
					new Date()
				}, new int[] { 
					Types.DATE,
					Types.CHAR,
					Types.TIMESTAMP
				}
			);
Pues bien, el TIMESTAMP que saco mediante new Date() (CampoTimestamp_1), usease mediante Java, si tiene el cambio de hora actualizado. Pero el que saco mediante el current_timestamp escrito directamente en la sentencia sql (CampoTimestamp_2) me sale con la hora sin actualizar...

Reiniciando el servidor donde esta desplegada la aplicación (WebLogic) el problema se solucionó, pero esto supondria tener que andar reiniciando con cada cambio de hora, y no es plan.

¿Alguien sabria decirme como salir airoso de esta? ¿Hay algun metodo para refrescar la sesion oracle de mi aplicación o no creeis que tenga nada que ver con dicha sesion?