hibernate 存储过程事务

来源:互联网 发布:淘宝企业店铺认证流程 编辑:程序博客网 时间:2024/05/17 12:18

最近的一次开发过程中遇到了一个hibernate事务的问题.

业务处理中需要对一张表插入一条数据,然后基于该数据进行一系列的操作.

数据的插入采用的是hibernate 直接操作对象的方式进行.

对数据的该数据的其他操作则是使用存储过程来处理的.

在测试过程中发现存储过程不能访问到该数据.但在该处理执行完后数据库中是有该数据的.

最终发现原因是 插入过程和 存储过程执行不在同一事物中.

变同的方法是在数据插入完后提交事务,然后再执行存储过程.

-----------------------------------------------------------------------------------------------------

        Session s = this.getDao().getSessionFactory().openSession();
        Transaction  tr = s.beginTransaction();
        s.persist(Obj);
        tr.commit();
        s.close();


原创粉丝点击