首页 > 解决方案 > 记录隐式事务休眠

问题描述

我在自动提交模式下通过 Hibernate 从 db 读取

我没有明确声明事务边界,那么据我所知,读取查询将在单独的事务中执行。

我使用以下代码阅读:

        ScrollableResults scrollableResults = 
        entityManager.unwrap(Session.class).createQuery("Select 
        m from Message m ").scroll();
        while (scrollableResults.next()) {
           //do things
        }

如何记录开始并提交隐式事务?我尝试使用 p6spy 但我没有得到任何与交易有关的信息

标签: hibernate

解决方案


因为自动提交是在驱动程序中发生的。这样的间谍通过包装连接并拦截驱动程序的所有外部使用来工作,但您无法看到内部发生了什么。如果您想知道内部发生了什么,您必须查看您的数据库日志或网络流量。


推荐阅读