我正在使用BeforeChrist Era,并且将日期作为Date类型存储在PostgreSQL中,并且工作正常。选择查询给了我这个:1001-01-01 00:00:00 BC
没关系。为了以这种方式将日期保留在数据库中,我将-1000-01-01
LocalDate Java 8对象传递给我的JPA实体:@Column(nullable = false) private LocalDate date;
我的问题是,当我通过JPA从数据库中获取此实体时,它完全忽略了“ BC”,并向我返回了具有2001年之后的LocalDate date字段值为1001-01-01的实体。如何让JPA考虑到该“ BC”?
P.S。在我实施Converter之前,它只是数据库中的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();
}
}