我在我的项目中使用了Spring 3.1,JPA 2和Spring Data JPA(Hibenrate 4.1),并使用Hibernate Envers(Hibernate 4附带)来审计一些属性,我想将当前登录的用户存储在相关的rev中表,如何实现?感谢。
答案 0 :(得分:3)
您需要创建自定义Envers列表器,如下所示
public class CustomEnversListener implements RevisionListener {
@Override
public void newRevision(Object revisionEntity) {
CustomRevisionEntity customRevisionEntity = (customRevisionEntity)revisionEntity;
Authentication authentication = SecurityContextHolder.getContext().getAuthentication();
customRevisionEntity.setUsername(authentication.getName());
}
}
有关详细信息,请查看hibernate wiki