【发布时间】:2014-01-02 20:20:10
【问题描述】:
我目前正在努力让 Spring Data JPA 审计工作,它目前没有设置字段,并且在使用实体时似乎没有以任何方式被调用。特别是对它如何挂钩到持久实体的标准流程的任何见解都会有所帮助。
我目前正在使用 Spring Data JPA 1.5.0.M1 和 Spring 3.2.6,审计部分的基本配置是:
@Configuration
@EnableJpaAuditing(auditorAwareRef = "auditorAware")
@EnableJpaRepositories(basePackages = "org.myproject.dao")
@EnableTransactionManagement
public class JpaConfig {
...}
在尝试解决此问题时,当前相关实体被标记为注释和接口(注释将是首选)。我意识到不应该这样做,但我暂时复制并粘贴了。
@Entity
public class AutoDraft implements Auditable<Long, Long> {
@SequenceGenerator(name="seq_auto_draft", sequenceName="SEQ_AUTO_DRAFT")
@GeneratedValue(strategy=GenerationType.SEQUENCE,generator="seq_auto_draft")
@Id
private Long id;
@CreatedDate
@Type(type="org.jadira.usertype.dateandtime.joda.PersistentDateTime")
private DateTime createdDate;
@LastModifiedDate
@Type(type="org.jadira.usertype.dateandtime.joda.PersistentDateTime")
private DateTime lastModifiedDate;
在日志中,正在设置相关的 bean,我可以在启动时在 AuditingEntityListener 中捕获正确配置的 AuditingHandler,但在运行时似乎没有触发任何内容,也没有与特定实体关联的任何与审计相关的日志消息或存储库。 AuditingBeanFactoryPostProcessor 目前引起了我的注意,但我已经在这方面花费了太长时间,因此可以使用任何帮助。
【问题讨论】:
-
我正在努力解决可能存在的类似问题(请参阅stackoverflow.com/q/22341841/827480)。我已经配置了我的实体侦听器,但它们似乎被 Spring Data 忽略了。你能发布一个完整的例子(配置/等)来帮助我吗?
标签: spring-data-jpa