java - 监听 Hibernate Session 创建

标签 java hibernate spring session trace

<分区>

我的代码中有一个错误会导致 hibernate 异常,当调用 session.lock() 时,一个对象与两个打开的 session 相关联。

我将 Spring 3.0.4 与 HibernateTemplate 和 Hibernate 3.6.0 一起使用。

我希望能够在创建 Session 时进行捕获,为 Session 创建/存储堆栈跟踪,然后代理 Session,以便在调用 close() 时清除堆栈跟踪.

我找到了 this question但这是专门针对网络应用程序的。我浏览了 hibernate 事件/ session 工厂统计代码和 spring 代码,但看不到合适的 Hook 点。

有没有人对此有任何建议?

最佳答案

如果目的是调试/解决您面临的问题 - 为 spring hibernate 启用调试日志记录是一个更简单/更好的选择。您将能够跟踪第二个 session 的打开位置。

关于java - 监听 Hibernate Session 创建,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5618852/

相关文章:

java - JLabel 也呈现在按钮上

java - Hibernate Search 5.5.3 - 按集合大小排序不再起作用

java - 了解同步

java - jpql,获取具有可为空变量的行

java - Hibernate 5.1 中的 EnversSchemaGenerator 在哪里?

java - 使用 Java 中的 Stripe API 设置自动续订

java - 使用 hibernate 将枚举值插入表

java - Spring Boot 2 JasperReportsMultiFormatView

java - Spring Boot 使用请求范围的 bean 进行依赖注入(inject)

java - 来自 Spring 还是 JNDI 的 TransactionManager? (JBOSS + Spring 3 + Hibernate 4 + JTA)