В последнее время я решил реализовать в своих проектах CMT транзакции (jBoss5, Hibernate, jta postgres datasource). Все работает нормально, кроме Hibernate.initialize() в моих сущностях. Он работает в компонентах EJB, но при попытке вызвать инициализацию в getter объекта я получаю исключение «не могу ассоциироваться с сеансом». Он очень хорошо работал перед выполнением транзакций. У кого-то была такая же проблема?HIbernate и CMT
0
A
ответ
0
Ok после нескольких дней, просматривающих интернет я нашел, что это проблема. Когда используется флаг u, который поддерживает транзакции. Он не запускает их. Если вы извлекаете объекты из транзакции, они не работают и, следовательно, u не могут инициализировать свои свойства ...
0
Со следующего reference page вам может понадобиться, чтобы обеспечить текущие свойства настроены правильно для CMT
- набор
hibernate.transaction.manager_lookup_class
к стратегии поиска для вашего контейнера Java EE (см here для списка менеджеров транзакций JTA) - установить
hibernate.transaction.factory_class
вorg.hibernate.transaction.CMTTransactionFactory
Я написал, что все работает, кроме Hibernate.initialize(), и это только в сущности. Я уже установил hibernate.transaction.manager_lookup_class. (Я не хочу устанавливать фабрику транзакций, потому что диспетчер сущности Hibernate это не нравится). Кто-нибудь знает, в чем проблема? – Dogrizz