実際にはバグです。私はthe following testにそれを複製しました。私はバグレポートを開きます。
私がLocalDate
使用する場合:
@Entity(name = "LocalDateEvent")
public class LocalDateEvent {
@Id
private Long id;
@NotNull
@Column(name = "START_DATE", nullable = false)
private LocalDate startDate;
}
と、このテストを実行します。
doInJPA(entityManager -> {
LocalDateEvent event = new LocalDateEvent();
event.id = 1L;
event.startDate = LocalDate.of(1, 1, 1);
entityManager.persist(event);
});
doInJPA(entityManager -> {
LocalDateEvent event = entityManager.find(LocalDateEvent.class, 1L);
assertEquals(LocalDate.of(1, 1, 1), event.startDate);
});
を私が手:
java.lang.AssertionError: expected:<0001-01-01> but was:<0000-12-29>
Jira issue is here。
@Entity(name = "OffsetDateTimeEvent")
public static class OffsetDateTimeEvent {
@Id
private Long id;
@NotNull
@Column(name = "START_DATE", nullable = false)
private OffsetDateTime startDate;
}
と、このテストを実行している:
それはOffsetDateTime
のいずれかのために動作しません
doInJPA(entityManager -> {
OffsetDateTimeEvent event = new OffsetDateTimeEvent();
event.id = 1L;
event.startDate = OffsetDateTime.of(1, 1, 1, 0, 0, 0, 0, ZoneOffset.UTC);
entityManager.persist(event);
});
doInJPA(entityManager -> {
OffsetDateTimeEvent event = entityManager.find(OffsetDateTimeEvent.class, 1L);
assertEquals(OffsetDateTime.of(1, 1, 1, 0, 0, 0, 0, ZoneOffset.UTC), event.startDate);
});
例外:Jira issue for this is here
java.lang.AssertionError: expected:<0001-01-01T00:00Z> but was:<0001-01-01T01:34:52+01:34:52>
を。
バグが(https://hibernate.atlassian.net/browse/HHH-10371)休止5.0.6(http://in.relation.to/2015/12/16/hibernate-orm-に固定しました506-final-release /)を参照してください。 –
@engineer実際には修正されていますが、バージョン5.0.xファミリの最新バージョンが5.0.3 **である 'hibernate-validator'の互換バージョンは存在しないので、使用することはできません。 5.0.6 'hibernate-core'での動作を拒否しました。なぜバージョンがこれほど遅れているのか/それが修正されるのか、 – yktoo