如何使用java配置配置审计

时间:2013-10-21 17:07:59

标签: spring-data audit

我正在尝试使用Spring Data JPA实现基本审核。从this问题我了解到,尚无法使用注释启用审核。我在applicationContext.xml中有以下src/main/resources文件:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:jpa="http://www.springframework.org/schema/data/jpa"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
    http://www.springframework.org/schema/beans/spring-beans.xsd
    http://www.springframework.org/schema/data/jpa
    http://www.springframework.org/schema/data/jpa/spring-jpa.xsd">

    <jpa:auditing />
</beans>

我已将@ImportResources("classpath:/applicationContext.xml")添加到我的Java Config文件中。

在我的AbstractEntity@MappedSuperClass)上,我有以下内容:

@MappedSuperclass
public abstract class AbstractEntity {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;
    @Version
    private Integer version;
    @CreatedDate
    private Date createdDate;
    @LastModifiedDate
    private Date lastModifiedDate;

    // GETTERS AND SETTERS
}

导入java.util.Date的位置。我也试过JodaTime,但没有改变。

据我所知,此配置应足以启用审核日期。我不需要@CreatedBy@LastModifiedBy审核,因此我认为我不需要AuditAware bean ...即便如此,我也尝试过添加它但也没有运气。

如何让基本审核工作?

1 个答案:

答案 0 :(得分:3)

首先,Spring Data JPA 1.5 M1随附@EnableJpaAuditing,因此如果您能够升级到此版本,则不需要额外的XML文件。

您似乎错过了JPA配置中AuditingEntityListener的声明(通常是orm.xml配置文件)。有关详细信息,请参阅reference documentation