Java 使用JPA将LocalDate导入数据库
我正在尝试创建一个表:Java 使用JPA将LocalDate导入数据库,java,database,jpa,Java,Database,Jpa,我正在尝试创建一个表: @Entity @Table(name = "MENU") public class Menu { private LocalDate date; @Column(name = "DATE", nullable = false) public LocalDate getDate() { return date; } public void setDate(Loca
@Entity
@Table(name = "MENU")
public class Menu {
private LocalDate date;
@Column(name = "DATE", nullable = false)
public LocalDate getDate() {
return date;
}
public void setDate(LocalDate date) {
this.date = date;
}
create表格生成DATE raw(255)not null,我需要它是DATE,我读入它并尝试创建一个转换器:
@Converter(autoApply = true)
public class LocalDatePersistenceConverter implements
AttributeConverter<java.time.LocalDate, java.sql.Date> {
@Override
public java.sql.Date convertToDatabaseColumn(LocalDate entityValue) {
return java.sql.Date.valueOf(entityValue);
}
@Override
public LocalDate convertToEntityAttribute(java.sql.Date databaseValue) {
return databaseValue.toLocalDate();
}
@转换器(autoApply=true)
公共类LocalDatePersistenceConverter实现
属性转换器{
@凌驾
public java.sql.Date convertToDatabaseColumn(LocalDate entityValue){
返回java.sql.Date.valueOf(entityValue);
}
@凌驾
公共LocalDate convertToEntityAttribute(java.sql.Date databaseValue){
返回databaseValue.toLocalDate();
}
但是没有任何变化,我遗漏了什么?用于自定义此列的DB类型:
@Column(name = "DATE", columnDefinition="DATE NOT NULL")
public LocalDate getDate() {
return date;
}
祝你好运!你遇到了什么问题?我希望用日期值而不是RAW来表示日期行。这对我没有什么帮助,我正在尝试使用localDate作为日期设置器,而jpa无法识别它,因此我不得不使用转换器,因为我仍然希望DB将该字段标记为日期字段