Spring @CreatedBy和@LastModifiedDate不再使用ZoneDateTime?

Spring @CreatedBy和@LastModifiedDate不再使用ZoneDateTime?,spring,spring-boot,spring-data,spring-data-jpa,zoneddatetime,Spring,Spring Boot,Spring Data,Spring Data Jpa,Zoneddatetime,我已经将一个旧的spring boot 1.5.3项目更新为spring boot 2.0.0。释放。 我有一个审计实体,有两个ZonedDateTime类型的字段,用@CreatedBy和@LastModifiedDate注释 在以前的版本中,一切正常。但是,在新的更新中,在将实体保存到存储库中时,我会得到一个错误,即 createdDate=<null> lastModifiedDate=<null> ]! Supported types are [org.jo

我已经将一个旧的spring boot 1.5.3项目更新为spring boot 2.0.0。释放。 我有一个审计实体,有两个ZonedDateTime类型的字段,用@CreatedBy和@LastModifiedDate注释

在以前的版本中,一切正常。但是,在新的更新中,在将实体保存到存储库中时,我会得到一个错误,即

 createdDate=<null>
 lastModifiedDate=<null>
 ]! Supported types are [org.joda.time.DateTime, org.joda.time.LocalDateTime, java.util.Date, java.lang.Long, long]
createdDate=
最后修改日期=
]! 支持的类型有[org.joda.time.DateTime、org.joda.time.LocalDateTime、java.util.Date、java.lang.Long、Long]
我查了一下,发现没有任何东西和ZoneDateTime有关

这里面也有这个问题,我相信是有关系的


我的问题是我做错了什么,spring停止了支持还是我做错了什么?

旧答案是错误的,但我不能删除它,因为它已被接受请滚动到其他答案。

我遇到了同样的问题,通过在
@EnableJpaAuditing
中添加一个
dateTimeProviderRef
可以解决

Java

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.auditing.DateTimeProvider;
import org.springframework.data.jpa.repository.config.EnableJpaAuditing;
import java.time.ZonedDateTime;
import java.util.Optional;

@Configuration
@EnableJpaAuditing(dateTimeProviderRef = "auditingDateTimeProvider")
public class PersistenceConfig {

    @Bean // Makes ZonedDateTime compatible with auditing fields
    public DateTimeProvider auditingDateTimeProvider() {
        return () -> Optional.of(ZonedDateTime.now());
    }

}

Kotlin

@Configuration
@EnableJpaAuditing(dateTimeProviderRef = "auditingDateTimeProvider")
class PersistenceConfig {

    @Bean // Makes ZonedDateTime compatible with auditing fields
    fun auditingDateTimeProvider()= DateTimeProvider { of(ZonedDateTime.now()) }

}

这对我不起作用。还有其他解决办法吗?杰克逊与JPA无关