我有一个非常类似于以下内容的审核拦截器:http://www.mkyong.com/hibernate/hibernate-interceptor-example-audit-log/
每当我使用服务方式时:
User user = this.userRepository.findOne(id);
user.setX(x);
user.setY(y);
I get an audit just fine! works perfect.
但是当我使用存储库中的查询时,像这样:
UserRepository {
@Query("UPDATE User u SET u.password = ?2 WHERE u.id = ?1 ")
@Modifying
public void updatePassword(Long userId, String encodedPassword);
}
我一直认为,由于spring-boot-jpa支持@query,因此它绝对支持审计。但是,现实非常糟糕。官方文档不够清楚,所以我挖了一个大坑。因为我的项目快要结束了,才发现这个问题,所以不可能切换其他方式,不知道如何解决,或者选择,希望大家能帮助我,我会在线等待结果。