AuditionEntityListener不适用于在spring jpa中扩展另一个抽象实体的实体

AuditionEntityListener不适用于在spring jpa中扩展另一个抽象实体的实体,spring,spring-mvc,spring-boot,spring-data-jpa,Spring,Spring Mvc,Spring Boot,Spring Data Jpa,我在各自的字段中使用了@CreatedBy、@CreatedDate、@LastModifiedBy和@LastModifiedDate注释。通过使用@MappedSuperclass、@EntityListeners,我能够持久化以上列 但这不适用于以下情况: @MappedSuperclass @EntityListeners(AuditingEntityListener.class) public abstract class Auditable<U> { @Creat

我在各自的字段中使用了@CreatedBy、@CreatedDate、@LastModifiedBy和@LastModifiedDate注释。通过使用@MappedSuperclass、@EntityListeners,我能够持久化以上列

但这不适用于以下情况:

@MappedSuperclass
@EntityListeners(AuditingEntityListener.class)
public abstract class Auditable<U> {
    @CreatedBy
    protected U createdBy;
    @CreatedDate
    @Temporal(TIMESTAMP)
    protected Date creationDate;
    @LastModifiedBy
    protected U lastModifiedBy;
    @LastModifiedDate
    @Temporal(TIMESTAMP)
    protected Date lastModifiedDate;
}

@Entity
@Table(name = "tabel1")
@PrimaryKeyJoinColumn(name = "ID")
class A extends B {

    @Column(name = "NAME1", nullable = false)
    private String name1;
    @Column(name = "CONTENT1", nullable = false)
    private String content1;
}

@Entity
@Table(name = "tabel2")
public abstract class B extends Auditable{
    @Id
    @GeneratedValue
    @Column(name = "ID", nullable = false)
    private int id;
    @Column(name = "NAME", nullable = false)
    private String name;
    @Column(name = "CONTENT", nullable = false)
    private String content;
}
AuditorAwareImpl.java

JpaAuditConfiguration.java

在这种情况下,实体B将填充审计列。但实体A并非如此。有没有办法填充实体a或者我在这里遗漏了什么…?

我在你的类中添加了@Entity注释:

@Entity
public class A extends B {

    @Id
    @GeneratedValue
    private Integer id;

    private String name;
    private String content;

}

@Entity
public class B extends Auditable<String> {

    @Id
    @GeneratedValue
    private Integer id;

    private String name;
    private String content;
}

一切都很好

A类是否定义为实体?是的,我也编辑了代码,以供您回复。。但对我来说,一个实体并没有填充审计字段..我还更新了其他类。。你能确认一下我已经发布了我的源代码吗。希望它对您有用。当我看到这里声明为抽象的代码B实体时。。。我已经修改了上面的代码。你能看一下那个huymb吗。。?
@Configuration
@EnableJpaAuditing(auditorAwareRef = "auditorProvider")
public class JpaAuditConfiguration
{
    @Bean
    public AuditorAware<String> auditorProvider()
    {

        return new AuditorAwareImpl();
    }
}
@Entity
public class A extends B {

    @Id
    @GeneratedValue
    private Integer id;

    private String name;
    private String content;

}

@Entity
public class B extends Auditable<String> {

    @Id
    @GeneratedValue
    private Integer id;

    private String name;
    private String content;
}
@Configuration
@EnableJpaAuditing
public class PersistenceConfig {
}