I have an Entity which is using ZonedDateTime.
public class User {
@Id
@GeneratedValue
@Column(name = "id")
private Long id;
@Column(name = "last_modified", nullable = true, columnDefinition = "TIMESTAMP WITH TIME ZONE")
private ZonedDateTime lastModified;
}
I can sucessfuly save and load this entity using Hibernate & H2, but when I add this method to the entity:
@PreUpdate
protected void afterUpdate() {
setLastModified(ZonedDateTime.now());
}
and try to load it, H2 throws:
[snip]
Caused by: java.lang.UnsupportedOperationException: unimplemented
at org.h2.value.ValueTimestampTimeZone.getTimestamp(ValueTimestampTimeZone.java:209)
at org.h2.jdbc.JdbcResultSet.getTimestamp(JdbcResultSet.java:488)
... 89 more
H2 Contributor says:
we deliberately don't support that method because it makes no sense in that context. Hibernate will need to be updated to use getObject() and the TimestampWithTimezone object to extract the information.
|