使用 SpringBoot 注解审核 @Embeddable 对象

问题描述 投票:0回答:1

我想使用包中的 SpringData 注释 org.springframework.data.annotation

@CreatiedOn
@CreatedBy
@ModifiedOn
@ModifiedBy

我的配置也是这样:

@Embeddable
public class AuditFields {

    @Column({...})
    @CreatedBy
    private String createdBy;

    @Column({...})
    @CreatedDate
    private Instant createdOn;

    @Column({...})
    @LastModifiedBy
    private String updatedBy;

    @Column({...})
    @LastModifiedDate
    private Instant updatedOn;

...并且

AuditFileds
被用作构图:

@Entity    
public class A {

   {...}
 
   @ElementCollection
   @CollectionTable({...})
   private Collection<B> b;

   @Embedded
   private AuditFields auditFields = new AuditFields();

}

@Embeddable  
public class B {

   {...}

   @Embedded
   private AuditFields auditFields = new AuditFields();

}

...我还配置了

@EnableJpaAuditing
bean

class A
持久存在并且
@Entity
对象已成功审核时,框架工作完美,但
class B
(即
@Embeddable
集合)上没有任何反应(记录 B 未审核到表中)。

有什么想法为什么 SpringData 审计忽略

@Embeddable
集合吗?是SpringData的问题吗?

对于如何审核

@Embeddable
收集的另一种方法有什么想法吗?

spring-data-jpa
是版本
2.7.15

java spring-boot spring-data-jpa spring-data auditing
1个回答
0
投票

检查您的实体中是否配置了 springboot 侦听器。

@EntityListeners({org.springframework.data.jpa.domain.support.AuditingEntityListener.AuditingEntityListener.class})

© www.soinside.com 2019 - 2024. All rights reserved.