spring-boot - 使用 JPA 审计的 Autowired Repository 为空
问题描述
我正在尝试通过postpersist
或我的transactional
实体在 audit_trial 表中插入审计记录。但是,auditrial
即使我提供了autowired
. 下面是我的代码。请建议我在代码中缺少的内容。
@Service
@Transactional
public class AuditEventListener {
@Autowired
private AuditTrialRepository auditTrialRepository;
@PostPersist
public void saveInsertAudit(Object object) throws JsonProcessingException {
AuditTrial auditTrial = new AuditTrial();
auditTrial.setAction(INSERT);
ObjectMapper mapper = new ObjectMapper();
if (null != object) {
auditTrial.setModule(getModule(object));
String json = mapper.writeValueAsString(object);
if (null != json) {
auditTrial.setAfterImage(json);
auditTrialRepository.save(auditTrial);
}
}
}
@Repository
public interface AuditTrialRepository extends JpaRepository<AuditTrial, Long> {
}
解决方案
推荐阅读
- c - 有什么方法可以使用 strtof() 来转换“负数”?
- reactjs - Redux-saga store 将自定义类转换为普通对象
- python - 如何访问嵌套函数中的实例?
- excel - 使用从文本文件导入的范围创建表
- postgresql - 如何使用我的默认 Windows 用户名连接到 PostgreSQL
- spring-batch - 批处理作业失败时如何将任务的退出代码设置为非零值?
- sql - 根据每个唯一标识符的条件更新值
- node.js - React 安装(用于 tar@^2.2.1 的 npm WARN tarball tarball 数据,npm ERR!代码 EINTEGRITY)
- javascript - 有没有办法在数组 x 上运行 .push() 方法?(在 for 循环之外)
- tfs - 如何在 TFS 2017 中设置到项目级别组的转换