繁体   English   中英

@PostPersist不会将审核记录保存到数据库

@PostPersist doesn't save the Audit Record to the DB

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

我有一个带有@PostPersist方法的监听器,称为“ doAudit”,用于审核创建操作。调试时,我看到此方法被调用,并且在JAVA端创建了审核记录。 但是,当我验证数据库时,我看不到记录。

public class AuditListener {
    @PostPersist
    public void doAudit(Object object) {
        AuditDao auditManager = AuditDaoImpl.getInstance();
        auditManager.logEvent("create", object);
    }
}

public interface AuditDao {
    @Transactional(propagation= Propagation.REQUIRED)
    public AuditEntity logEvent(String action, Object object);
}

@Component
public class AuditDaoImpl implements AuditDao {

    private static AuditDaoImpl me;

    public AuditDaoImpl() {
        me = this;
    }

    public static AuditDaoImpl getInstance() {
        return me;
    }

    @Autowired
    private AuditDao dao;

    @Transactional
    @Override
    public AuditEntity logEvent(String action, Object object) {

        AuditEntity act = new AuditEntity();
        act.setAction(action);
        act.setObject(object);

        dao.create(act);
        return act;
    }
}

我正在为我的ORM使用Open JPA 2.0。 部署在karaf容器上。 我正在使用Postgres SQL作为后端。

1 个回复

添加一个调试断点,并检查当前堆栈跟踪是否包含TransactionInterceptor 如果没有此类条目,则说明Spring事务管理配置不正确,并且您的DAO根本不使用事务。

JPA允许您运行查询而无需显式配置事务。 为了保存数据,必须执行交易。

1 保存DbContext不会将数据保存到数据库

将自动创建用于授权用户的数据库。 我更新我的本地表数据库。 有一些表,例如Klient,Ulica,Address。 描述此表的模型: 此模型的DbContext为: 当我尝试更改标准的AccountController并将一些数据添加到Register方法的模型Klien ...

2 Sugar ORM不会将数据保存到数据库中

我目前正在为我的Android应用程序使用Sugar ORM和Android Async Http Client 。 我阅读了Sugar ORM的文档并完成了那里写的内容。 我的HttpClient使用单例模式并提供调用某些API的方法。 现在是关于它的坏部分。 我无法将数据持久 ...

4 CoreData不会将数据保存到数据库

按照YouTube上的教程,我正在使用Swift编写iOS应用程序。 该应用程序将具有与待办事项列表应用程序相同的功能,但还有另一种用途。 但是,当我期望数据被保存(并在调试器中打印)时,什么也不会发生。 我做错什么了吗? ...

5 Hibernate不会将特定对象保存到数据库

我使用休眠在Spring MVC中开发应用程序。 我尝试在db中保存3个不同的对象(实例不同的类),而hibernate仅保存其中的2个。 我使用服务,而dao与通用dao一起使用,因此添加到db对于每个对象都是相同的。 这是代码: 3个对象类别,产品,类别产品的模型: ...

6 Django不会将PATCH请求保存到数据库

我想PATCH在通过Django的REST框架我的数据库中的对象。 该请求在我的后端处理,更新后的属性( friendship_status )是我收到的响应的一部分。 但是:该属性未在数据库中更新。 或者,至少它没有显示在Django Admin中。 我在这里想念什么? 请求 ...

7 neomodel 不会将节点保存到数据库中

所以这是我的模型,下面的函数是我用来接收 id 并创建一个新节点的 post 端点。出于某种原因,节点没有被保存到 neo4j 数据库中,但是 post 函数正在完全执行意味着 c.save() 正在正确执行。 我得到“结果”作为发布请求的输出。 ...

9 Laravel Eloquent不会将属性保存到数据库(可能是mysql)

我有一个奇怪的问题。 我为用户模型创建了模型观察器。 模型观察器正在“保存”状态下运行。 当我在要显示的用户模型的最末端转储对象时(这是在保存之前。根据laravel docs),它显示为该对象正确设置的所有属性,我什至看到了显示的错误设置并插入到我的数据库表中的正确属性。 但是,完 ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2022 STACKOOM.COM