Вопрос

Недавно я решил внедрить в свой проект CMT-транзакции (JBoss5, Hibernate, jta postgres datasource).Все работает нормально, кроме Hibernate.initialize() в моих сущностях.Это работает в компонентах EJB, но при попытке вызвать initialize в entity getter я получаю исключение "не удалось связать с сеансом".Это работало просто отлично до реализации транзакций.У кого-нибудь была такая же проблема?

Это было полезно?

Решение

Хорошо, после нескольких дней, просматривая Интернет, я обнаружил, в чем проблема. Когда вы помечаете метод как Поддерживает транзакции. Это не запускает их. Если вы извлекаете объекты из транзакции, они выходят из сеанса, и поэтому вы не можете инициализировать их свойства ...

Другие советы

Из следующего справочная страница возможно, вам потребуется убедиться, что текущие свойства правильно настроены для CMT

  • установленный hibernate.transaction.manager_lookup_class к стратегии поиска для вашего контейнера Java EE (см. здесь для получения списка менеджеров по транзакциям JTA)
  • установленный hibernate.transaction.factory_class Для org.hibernate.transaction.CMTTransactionFactory
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top