Я работаю с BeforeChrist Era и сохраняю даты в PostgreSQL как тип Date, и он отлично работает. Запрос на выборку дает мне это: 1001-01-01 00:00:00 BC
что нормально. Чтобы сохранить эту дату в базе данных, я передаю объект -1000-01-01
LocalDate Java 8 моему объекту JPA: @Column(nullable = false) private LocalDate date;
Моя проблема заключается в том, что когда я получаю эту сущность через JPA из базы данных, она полностью игнорирует «BC» и возвращает мне мою сущность с полем даты LocalDate со значением 1001-01-01, что происходит через 2001 год. Как я могу заставить JPA учитывать это "BC"?
P.S. до того, как я реализовал конвертер, он был просто 1001-01-01 BC
в базе данных, то же самое невежество BC при возвращении сохраняемой сущности.
@Converter(autoApply = true)
public class DateORMConverter implements AttributeConverter<LocalDate, Date> {
@Override
public Date convertToDatabaseColumn(LocalDate attribute) {
return attribute != null ? Date.valueOf(attribute) : null;
}
@Override
public LocalDate convertToEntityAttribute(Date dbData) {
return dbData == null ? null : dbData.toLocalDate();
}
}