gpt4 book ai didi

spring - @CreatedBy 和 @LastModifiedDate 不再与 ZonedDateTime 一起使用?

转载 作者:行者123 更新时间:2023-12-02 00:39:35 27 4
gpt4 key购买 nike

我已将旧的 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]

我检查了AnnotationAuditingMetaData ,我发现与 ZonedDateTime 相关的注释。

https://jira.spring.io/browse/DATAJPA-1242中也有这个问题,我相信这是相关的。

我的问题是我在这里做错了什么,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()) }

}

关于spring - @CreatedBy 和 @LastModifiedDate 不再与 ZonedDateTime 一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49170180/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com