【问题标题】:HIbernate and CMT休眠和 CMT
【发布时间】:2009-03-11 19:05:17
【问题描述】:

最近我决定在我的项目中实现 CMT 事务(jBoss5、Hibernate、jta postgres 数据源)。 除了我的实体中的 Hibernate.initialize() 之外,一切都运行良好。 它在 EJB bean 中工作,但是当尝试在实体 getter 中调用初始化时,我得到“无法与会话关联”异常。在实施交易之前它工作得很好。 有人遇到同样的问题吗?

【问题讨论】:

    标签: java hibernate ejb-3.0 ejb


    【解决方案1】:

    好的,经过几天浏览互联网后,我发现了问题所在。 当您将方法标记为支持事务时。它不会启动它们。 如果您从事务中检索对象,则它们不在会话中,因此您无法初始化它们的属性...

    【讨论】:

      【解决方案2】:

      通过以下reference page,您可能需要确保为 CMT 正确配置了当前属性

      • 将 hibernate.transaction.manager_lookup_class 设置为您的 Java EE 容器的查找策略(有关 JTA 事务管理器列表,请参阅 here)
      • 将hibernate.transaction.factory_class 设置为org.hibernate.transaction.CMTTransactionFactory

      【讨论】:

      • 我写道,除了 Hibernate.initialize() 之外,一切都有效,而且只在实体中有效。我已经设置了 hibernate.transaction.manager_lookup_class。 (我不想设置事务工厂,因为 Hibernate 实体管理器不喜欢那样)。有谁知道是什么问题?
      猜你喜欢
      • 2014-09-15
      • 2012-06-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-12
      相关资源
      最近更新 更多