En PostgreSQL, estoy usando PersistentDuration
para la asignación entre el intervalo de tipo sql & duración, pero no funciona.Cómo asignar el tipo Intervalo en Hibernate?
Otro usuario encontrado el mismo problema & venido con su propia clase:
public void nullSafeSet(PreparedStatement statement, Object value, int index)
throws HibernateException, SQLException {
if (value == null) {
statement.setNull(index, Types.OTHER);
} else {
Long interval = ((Long) value).longValue();
Long hours = interval/3600;
Long minutes = (interval - (hours * 3600))/60;
Long secondes = interval - (hours * 3600) - minutes * 60;
statement.setString(index, "'"+ hours +":"
+ intervalFormat.format(minutes) + ":"
+ intervalFormat.format(secondes)+"'");
}
}
Pero no funciona con el formato real porque supongamos que el patrón de intervalo es sólo "hh: mm: ss" . Ese no es el caso: ver
Aquí algunos pocos ejemplos reales que necesito para analizar la base de datos:
1 day 00:29:42 00:29:42 1 week 00:29:42 1 week 2 days 00:29:42 1 month 1 week 2 days 00:29:42 1 year 00:29:42 1 decade 00:29:42
http://www.postgresql.org/docs/current/interactive/datatype-datetime.html
tiene una solución limpia?
No es obligatorio tener un day.And no sólo el día keywork (año, mes, semana, .. ver el siguiente enlace) Aquí algunos ejemplos reales de la base de datos: -1 día 00: 29:42 -00: 29: 42 -1 semana 00:29:42 1 semana 2 días 00:29:42 1 mes 1 semana 2 días 00:29:42 -1 año 00:29:42 1 década 00:29:42 – adam