例如改变这个:
@Entity
public class Person {
@Past
@Temporal(TemporalType.DATE)
@Column(name = "birth_date", length = ConstantNumeric.TWENTY_FIVE)
private Date birthDate;
...
}
对此:
@Entity
public class Person {
@Past
@Temporal(TemporalType.DATE)
@Column(name = "birth_date", length = ConstantNumeric.TWENTY_FIVE)
private LocalDate birthDate;
...
}
这是Java 8项目的正确方法吗?或者最好在需要时将LocalDate转换为日期?
答案 0 :(得分:1)
我知道这些问题已经过时了,但无论如何我都会给出答案。
从JPA 2.1开始,您可以按照here的说明使用AttributConverter
。简而言之,您必须实施javax.persistence.AttributeConverter<LocalDate, Date>
才能从LocalDate
转换为Date
,反之亦然。
然后,您可以直接在JPA实体中使用LocalDate
类型的属性。