Я пытаюсь перейти с спящего режима 3.6.7 на 4.0.1 и с JDK 1.6 на JDK 1.7.
После переноса файлов конфигурации и т. д. Я могу нормально запустить свое приложение.
Сначала немного cfg.xml моего спящего режима:
<property name="hibernate.transaction.factory_class">org.hibernate.transaction.JDBCTransactionFactory< /property>
<property name="current_session_context_class">thread</property>
Но я столкнулся с проблемой 1 с вложенным sessionFactory.getCurrentSession().beginTransaction() Раньше это работало в спящем режиме 3.6.7, хотя и без свойства «hibernate.transaction.factory_class».
Кто-нибудь понял, что я делаю неправильно?
Трассировка стека выглядит так:
org.hibernate.TransactionException: nested transactions not supported
at org.hibernate.engine.transaction.spi.AbstractTransactionImpl.begin(AbstractTransactionImpl.java:152)
at org.hibernate.internal.SessionImpl.beginTransaction(SessionImpl.java:1263)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at org.hibernate.context.internal.ThreadLocalSessionContext$TransactionProtectionWrapper.invoke(ThreadLocalSessionContext.java:350)
at $Proxy4.beginTransaction(Unknown Source)