使用JPA将LocalDate转换为数据库

时间:2014-10-08 10:26:27

标签: 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(LocalDate date) {
    this.date = date;
}

create table生成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();
        }

但是没有什么变化,我错过了什么?

1 个答案:

答案 0 :(得分:0)

使用@Column.columnDefinition自定义此列的数据库类型:

@Column(name = "DATE", columnDefinition="DATE NOT NULL")
public LocalDate getDate() {
    return date;
}
祝你好运!