SpringBoot中JPA + AuditingEntityListener时区设置方式是什么
发表于:2025-11-19 作者:千家信息网编辑
千家信息网最后更新 2025年11月19日,这篇文章将为大家详细讲解有关SpringBoot中JPA + AuditingEntityListener时区设置方式是什么,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相
千家信息网最后更新 2025年11月19日SpringBoot中JPA + AuditingEntityListener时区设置方式是什么
这篇文章将为大家详细讲解有关SpringBoot中JPA + AuditingEntityListener时区设置方式是什么,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。
JPA + AuditingEntityListener时区设置
在SpringBoot项目中,如果应用启用了EnableJpaAuditing并且使用AuditingEntityListener对实体的创建时间、更新时间进行自动审计,可能存在生成时间的时区和系统时区不一致的问题。
可在应用配置中添加如下配置
将时区设定为指定时区:
spring.jpa.properties.hibernate.jdbc.time_zone = GMT+8
@EntityListeners(AuditingEntityListener.class)介绍
@EntityListeners
源码
/** * Specifies the callback listener classes to be used for an * entity or mapped superclass. This annotation may be applied * to an entity class or mapped superclass. * * @since Java Persistence 1.0 */@Target({TYPE})@Retention(RUNTIME)public @interface EntityListeners { /** The callback listener classes */ Class[] value();}分析
从源码的注释中可以很清楚的了解到该注解的作用,简单翻译如下:该注解用于指定Entity或者superclass上的回调监听类。该注解可以用于Entity或者superclass上。
AuditingEntityListener.class
源码
/** * JPA entity listener to capture auditing information on persiting and updating entities. To get this one flying be * sure you configure it as entity listener in your {@code orm.xml} as follows: * * * <persistence-unit-metadata> * <persistence-unit-defaults> * <entity-listeners> * <entity-listener class="org.springframework.data.jpa.domain.support.AuditingEntityListener" /> * </entity-listeners> * </persistence-unit-defaults> * </persistence-unit-metadata> *
* * After that it's just a matter of activating auditing in your Spring config: * * * @Configuration * @EnableJpaAuditing * class ApplicationConfig { * * } * * * * <jpa:auditing auditor-aware-ref="yourAuditorAwarebean" /> *
* * @author Oliver Gierke * @author Thomas Darimont */@Configurablepublic class AuditingEntityListener { private ObjectFactory handler; /** * Configures the {@link AuditingHandler} to be used to set the current auditor on the domain types touched. * * @param auditingHandler must not be {@literal null}. */ public void setAuditingHandler(ObjectFactory auditingHandler) { Assert.notNull(auditingHandler, "AuditingHandler must not be null!"); this.handler = auditingHandler; } /** * Sets modification and creation date and auditor on the target object in case it implements {@link Auditable} on * persist events. * * @param target */ @PrePersist public void touchForCreate(Object target) { if (handler != null) { handler.getObject().markCreated(target); } } /** * Sets modification and creation date and auditor on the target object in case it implements {@link Auditable} on * update events. * * @param target */ @PreUpdate public void touchForUpdate(Object target) { if (handler != null) { handler.getObject().markModified(target); } }} 分析
同样的从该类的注释也可以了解到该类的作用:这是一个JPA Entity Listener,用于捕获监听信息,当Entity发生持久化和更新操作时。
关于SpringBoot中JPA + AuditingEntityListener时区设置方式是什么就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
时区
时间
注解
源码
方式
作用
内容
文章
更多
注释
知识
篇文章
分析
应用
更新
监听
配置
不错
清楚
一致
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
软件开发各阶段工具
微电商软件开发公司
网络技术员的行业分类
古剑奇谭ol服务器消失
和平精英超长时间服务器
办理残疾证入数据库吗
h3c服务器接口图
web 服务器 攻防
网络安全大赛怎么写
直播服务器打不开怎么办
ei数据库检索格式
中国的4g网络技术
贝壳软件开发 招聘
柏鹭杯大学生网络安全精英赛
计算机网络技术能考会计证吗
我国网络安全保险产业发展白皮书
清华比威网络技术有限公司
网安走进学校开展网络安全宣传
常用的数据库优化策略
云服务器标准排名
三级的网络技术难还是
为人民靠人民网络安全
黑莓q20软件开发
网络安全基地启动仪式主持词
服务器为什么选择ip
微屏软件开发有限公司
苹果电脑怎么下拉数据库
重庆交友软件开发有用吗
国产数据库管理系统 免费
网易游戏服务器地址