我正在尝试从休眠 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)