java - 使用 JPA 将 LocalDate 存入数据库

标签 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;
}

创建表生成 DATE raw(255) not null,我需要它是日期,我读入它并尝试创建一个转换器:

 @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();
        }

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

最佳答案

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

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

祝你好运!

关于java - 使用 JPA 将 LocalDate 存入数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26254630/

相关文章:

java - 在 Java 中从 "Simple Class Name"转换为 "Full Class Name"到对象的最佳方法

java - 如何将 Java 类转换为 Kotlin 数据类

Java 键值集合,数百万个随机无序键的复杂度为 O(1)

java - Hibernate Spring 连接无法 Autowiring

java - 在java中仅对字符串数组中的数字元素进行排序?

java - Spring Boot DataJpaTest(用于存储库)失败并显示 java.lang.IllegalStateException : Failed to load ApplicationContext

python - 用 Pandas 读取日志文件

java - 使用 Java 处理来自 postgreSQL 的大量数据

sql - 如何在 TFDQuery 中找到唯一标识记录的数据库键?

java - 使用 Eclipse Link 在 JPA 中映射 Joda Time "Period"的注释