启动类上加上@EnableJpaAuditing

实体类,注意需要加上@EntityListeners(AuditingEntityListener.class)这个注解才能使@CreatedDate@LastModifiedDate生效

  1. package com.gecko.charging.partner.entity;
  2. import com.gecko.charging.partner.enums.PartnerType;
  3. import com.gecko.charging.partner.enums.PartnerSettlementMethod;
  4. import com.meenoframework.common.BaseEntity;
  5. import lombok.AllArgsConstructor;
  6. import lombok.Getter;
  7. import lombok.NoArgsConstructor;
  8. import lombok.Setter;
  9. import org.springframework.data.annotation.CreatedBy;
  10. import org.springframework.data.annotation.CreatedDate;
  11. import org.springframework.data.annotation.LastModifiedBy;
  12. import org.springframework.data.annotation.LastModifiedDate;
  13. import org.springframework.data.jpa.domain.support.AuditingEntityListener;
  14. import javax.persistence.Column;
  15. import javax.persistence.Entity;
  16. import javax.persistence.EntityListeners;
  17. import javax.persistence.Table;
  18. import java.util.Date;
  19. /**
  20. * @description: 合作商
  21. * @author: Wzq
  22. * @create: 2020-03-02 14:25
  23. */
  24. @Entity
  25. @Table(name = "partner")
  26. @Getter
  27. @Setter
  28. @NoArgsConstructor
  29. @AllArgsConstructor
  30. @EntityListeners(AuditingEntityListener.class)
  31. public class Partner extends BaseEntity {
  32. // 用户id
  33. private Long userId;
  34. // 邮箱
  35. private String email;
  36. // 公司名称
  37. private String companyName;
  38. // 组织机构代码
  39. private String orgCode;
  40. //区域id
  41. private String areaId;
  42. //详细地址
  43. @Column(columnDefinition = "TEXT")
  44. private String address;
  45. //合作商类型
  46. @Column(name = "type")
  47. private PartnerType partnerType;
  48. //结算方式
  49. private PartnerSettlementMethod settlementMethod;
  50. // 营业执照
  51. private String businessLicense;
  52. // 小区名称
  53. private String areaName;
  54. // 创建时间
  55. @CreatedDate
  56. private Date createTime;
  57. // 创建id
  58. @CreatedBy
  59. private Long creatorId;
  60. // 修改人
  61. @LastModifiedBy
  62. private Long updateId;
  63. // 修改时间
  64. @LastModifiedDate
  65. private Date updateTime;
  66. // 是否删除
  67. private Integer isDeleted;
  68. }

@CreatedBy@LastModifiedBy使它们生效需要配置转换类实现AuditorAware接口

  1. package com.gecko.charging.partner.repository.auditoraware;
  2. import com.meenoframework.common.filter.ThreadLocalClient;
  3. import org.springframework.context.annotation.Configuration;
  4. import org.springframework.data.domain.AuditorAware;
  5. import java.util.Optional;
  6. /**
  7. * @description: 合作商创建人和修改人jpa处理
  8. * @author: Wzq
  9. * @create: 2020-03-02 14:48
  10. */
  11. @Configuration
  12. public class PartnerAuditorAware implements AuditorAware<Long> {
  13. @Override
  14. public Optional<Long> getCurrentAuditor() {
  15. //项目中获取登录用户id的方法
  16. Long currentLoginUserId = ThreadLocalClient.get().getId();
  17. if(currentLoginUserId != null){
  18. return Optional.of(currentLoginUserId);
  19. }
  20. return Optional.empty();
  21. }
  22. }

成功!

@CreatedDate@CreatedBy@LastModifiedBy@LastModifiedDate的更多相关文章

  1. Spring JPA 使用@CreatedDate、@CreatedBy、@LastModifiedDate、@LastModifiedBy 自动生成时间和修改者

    JPA Audit 在spring jpa中,支持在字段或者方法上进行注解@CreatedDate.@CreatedBy.@LastModifiedDate.@LastModifiedBy,从字面意思 ...

  2. jpa Auditor 自动赋值与自定义 @CreatedBy @LastModifiedBy @CreatedDate @LastModifiedDate

    在spring jpa audit 中,在字段或者方法上使用注解@CreatedDate.@CreatedBy.@LastModifiedDate.@LastModifiedBy,当进行实体插入或者更 ...

  3. @CreatedDate、@CreatedBy、@LastModifiedDate、@LastModifiedBy

    在spring jpa audit 中,在字段或者方法上使用注解@CreatedDate.@CreatedBy.@LastModifiedDate.@LastModifiedBy,当进行实体插入或者更 ...

  4. 解决neo4j @Transactional 与Spring data jpa @Transactional 冲突问题,@CreatedBy,@CreatedDate,@LastModifiedBy,@LastModifiedDate,以及解决@Version失效问题

    之前mybatis特别流行,所以前几个项目都是用@SelectProvider,@InsertProvider,@UpdateProvider,@DeleteProvider 加反射泛型封装了一些通用 ...

  5. Spring data mongodb @CreatedBy@LastModifiedBy@CreatedBy@LastModifiedBy SpringSecurityAuditorAware,只记录用户名

    要在Spring data mongodb 中使用@CreatedBy@LastModifiedBy@CreatedBy@LastModifiedBy  这四个注解 必须实现 SpringSecuri ...

  6. ASP.NET MVC 5 SmartCode Scaffolding for Visual Studio.Net

    介绍 ASP.NET MVC 5 SmartCode Scaffolding是集成在Visual Studio.Net开发工具中一个ASP.NET MVC Web应用程序代码生成框架,使用SmartC ...

  7. spring boot 采坑

    2019年2月19日19:25:42 版本 2.1.3.RELEASE 1,本地开发需要加依赖库,保存实时热更新 <dependency> <groupId>org.sprin ...

  8. 摘抄JPA官方文档原文 防呆

    Spring Data JPA - Reference Documentation Oliver GierkeThomas DarimontChristoph StroblMark PaluchVer ...

  9. Spring Data JPA 中常用注解

    一.java对象与数据库字段转化 1.@Entity:标识实体类是JPA实体,告诉JPA在程序运行时生成实体类对应表 2.@Table:设置实体类在数据库所对应的表名 3.@Id:标识类里所在变量为主 ...

随机推荐

  1. SESSION和JWT

    1.传统登录的方式是使用 session + token,比较适用于Web应用的会话管理.token 是指在客户端使用 token 作为用户状态凭证,浏览器一般存储在 localStorage 或者 ...

  2. 单点登录(SSO)实现原理(转)

    简介 单点登录是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统的保护资源,若用户在某个应用系统中进行注销登录,所有的应用系统都不能再直接访问保护资源,像一些知名的大型网站,如:淘 ...

  3. python对象类型

    一.内置对象 对象类型 分类 是否可变 例子 数字 数值 否 123,3.12 字符串 序列 否 'test',"test's" 列表 序列 是 [1,2,3,[1,2,'test ...

  4. windows下flutter2.2.3环境搭建

    先上几个必上的网站: 官网: https://flutter.cn/docs/get-started/install/windows 中文资源网(毕竟中文母语,看着轻松): https://flutt ...

  5. 等了半年,m1芯片原生支持的.NET IDE出现了

    m1芯片是苹果2020年发布的一款基于arm的桌面芯片,目前已经应用在MacBook Air .MacBook Pro.IMac.Ipad等设备上.可以说整个苹果生态圈都在去intel化. 今年年初跟 ...

  6. c语言:逗号运算符

    #include <stdio.h> main() { int a,s,d; s=2,d=3; a=12+(s+2,d+4); printf("%d\n",a); in ...

  7. Apache HBase 1.7.1 发布,分布式数据库

    Apache HBase 是一个开源的.分布式的.版本化的.非关系的数据库.Apache HBase 提供对数十亿个数据的低延迟随机访问在非专用硬件上有数百万列的行. 关于 HBase更多内容,请参阅 ...

  8. [c++] 面向对象课程(二)-- 带指针类的设计

    class with pointer menbers string_test.cpp 1 #include "string.h" 2 #include <iostream&g ...

  9. Springboot+Dubbo使用Zipkin进行接口调用链路追踪

    Zipkin介绍: Zipkin是一个分布式链路跟踪系统,可以采集时序数据来协助定位延迟等相关问题.数据可以存储在cassandra,MySQL,ES,mem中.分布式链路跟踪是个老话题,国内也有类似 ...

  10. couchdb(5984)未授权访问

    启动环境 测试 poc地址 https://github.com/vulhub/vulhub/blob/master/couchdb/CVE-2017-12636/exp.py map -p 5984 ...