当前位置: 首页 > 知识库问答 >
问题:

@CreatedBy和@LastModifiedDate不再使用ZoneDateTime?

莫翰藻
2023-03-14

我已经将一个旧的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停止了支持还是我做错了什么?

共有2个答案

龙洛城
2023-03-14

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

路欣荣
2023-03-14

我也遇到了同样的问题,通过在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());
    }

}

静态编程语言

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

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

}
 类似资料:
  • 我使用的是spring boot,因此我没有使用任何xml文件进行配置。我要做的是,在使用MongoRepositories保存数据时,启用OngOAuditing以保存createdDate、lastModifiedDate等。 我的模特课 我使用@CreateDate注释来保存createDate。我对DateTime使用了jodatime依赖项 Spring-data-mongoDB也添加在

  • 我正在尝试设置(作为一个java初学者)SpringJPA审计,时间为数小时/天。。。我开始感到非常沮丧,因为我找不到问题。我真的很感谢你的帮助。 @LastModifiedBy和@LastModifiedDate注释正在工作,但@CreatedBy和@CreatedDate始终为空。 下面是sql查询调试输出:2017-06-16 16:40:39[main]DEBUG n.t.d.l.l。SL

  • 我正在使用Spring Mongo审计和@CreatedDate@CreatedBy不工作,但@LastModifiedDate和@LastModifiedBy工作正常。 我在配置类上添加了@EnableMongoAudting,并定义了AuditAware。 审核类别为: 当我保存文档时,它在createdOn和createdBy中都设置为null,但在modifiedOn和modifiedBy

  • 我在spring data jdbc中使用简单的crud操作和审计。因此,当我插入新记录时,审计工作完全正常。但是当我更新我的记录时,我的createdby和createddate设置为null。有什么方法可以避免修改这些列吗? 注意:column(可更新= false)特性不支持spring data jdbc。 我的审计实体如下所示: 以及使用@EnableJdbcAuditing和定义下面的

  • 我使用的是Spring数据JDBC。 我有一个实体,其中的字段用

  • 问题内容: 我正在尝试运行以前运行的应用程序。它曾经在Ubuntu和Windows 7上运行。我现在有一台Windows 10计算机,代码失败。可能是因为我现在使用的是python 3.5,尽管坦率地说我不记得我在其他计算机上(不再可用)上的内容。 关键行是: 不久前已从各个地方取消。但是,现在当我运行它时,它会引发错误: 在交互式会话中,似乎是第三行失败了: 我试过了 在命令提示符下,但错误仍然