我正在尝试使用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 ...即便如此,我也尝试过添加它但也没有运气。
如何让基本审核工作?
答案 0 :(得分:3)
首先,Spring Data JPA 1.5 M1随附@EnableJpaAuditing,因此如果您能够升级到此版本,则不需要额外的XML文件。
您似乎错过了JPA配置中AuditingEntityListener
的声明(通常是orm.xml
配置文件)。有关详细信息,请参阅reference documentation。