Sac*_*mar 3 java spring hibernate jpa nhibernate-mapping
我正在 spring 3 和 hibernate 3 中进行产品构建,我已经更新了 hibernate 5 和 Spring 5。现在我可以部署应用程序,但是当我尝试连接数据库时,会出现“javax.persistence.TransactionRequiredException:没有交易正在进行中”
<bean id="sessionFactoryBean"
class="org.springframework.orm.hibernate5.LocalSessionFactoryBean">
<property name="dataSource" ref="dataSourceBean" />
<property name="annotatedClasses">
<!-- The model class is incorporated here -->
<list>
<value>com.test.ab.base.AaUser</value>
<value>com.test.ab.dealer.AaDealer</value>
<list>
Run Code Online (Sandbox Code Playgroud)
<tx:注解驱动的 transaction-manager="txManager" />
<bean id="txManager" class="org.springframework.orm.hibernate5.HibernateTransactionManager">
<property name="sessionFactory" ref="sessionFactoryBean" />
</bean>
Run Code Online (Sandbox Code Playgroud)
这是我的 Dao 层:
public class DatabaseConnection extends HibernateDaoSupport {
public DatabaseConnection (){
}
public static String QUERY_PREFIX_COUNT = "SELECT COUNT(*) ";
protected void applyNamedParameterToQuery(Query queryObject, String paramName, Object value)
throws HibernateException {
if (value instanceof Collection) {
queryObject.setParameterList(paramName, (Collection) value);
}
else if (value instanceof Object[]) {
queryObject.setParameterList(paramName, (Object[]) value);
}
else {
queryObject.setParameter(paramName, value);
}
}
protected String save(Object obj) throws HibernateException {
return getHibernateTemplate().save(obj).toString();
}
protected void update(Object obj) throws HibernateException {
getHibernateTemplate().update(obj);
}
//this is to be used to attached the detached object in session...
protected void merge(Object obj) throws HibernateException {
getHibernateTemplate().merge(obj);
}
protected void saveOrUpdObj(Object obj) throws HibernateException {
getHibernateTemplate().saveOrUpdate(obj);
}
}
Run Code Online (Sandbox Code Playgroud)
javax.persistence.TransactionRequiredException:没有事务正在进行中
在org.hibernate.internal.AbstractSharedSessionContract.checkTransactionNeededForUpdateOperation(AbstractSharedSessionContract.java:398)
在 org.hibernate.internal.SessionImpl.checkTransactionNeededForUpdateOperation(SessionImpl.java:3584)
在 org.hibernate.internal.SessionImpl.doFlush(SessionImpl.java:1462)
在 org.hibernate.internal.SessionImpl.flush(SessionImpl.java:1458)
在 org.springframework.orm.hibernate5.SessionFactoryUtils.flush(SessionFactoryUtils.java:148)
在 org.springframework.orm.hibernate5.SpringSessionSynchronization.beforeCommit(SpringSessionSynchronization.java:95)
在org.springframework.transaction.support.TransactionSynchronizationUtils.triggerBeforeCommit(TransactionSynchronizationUtils.java:96)
在org.springframework.transaction.support.AbstractPlatformTransactionManager.triggerBeforeCommit(AbstractPlatformTransactionManager.java:919)
在org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:727)
在org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:711)
在org.springframework.transaction.interceptor.TransactionAspectSupport.commitTransactionAfterReturning(TransactionAspectSupport.java:631)
在 org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:385)
在 org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:118)
在 org.springframework.aop.framework.ReflectiveMethodInspiration.proceed(ReflectiveMethodInitation.java:186)
在org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:212)
在 com.sun.proxy.$Proxy89.getAllAbModuleUserMapping(来源未知)
在 com.actionbean.ab.base.WelcomeActionManager.fillModules(WelcomeActionManager.java:249)
在 com.actionbean.ab.base.WelcomeActionManager.createUsrSessBean(WelcomeActionManager.java:211)
在com.actionbean.ab.base.WelcomeActionManager.retrieveSessionUserDataInternal(WelcomeActionManager.java:83)
在 com.actionbean.ab.base.WelcomeActionManager.retrieveSessionUserData(WelcomeActionManager.java:61)
在 com.actionbean.ab.base.WelcomeAction.performExecute(WelcomeAction.java:47)
在 com.actionbean.ab.base.BaseAction.execute(BaseAction.java:153)
在 org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:425)
在 org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:228)
在 org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913)
在 org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:462)
在 javax.servlet.http.HttpServlet.service(HttpServlet.java:647)
在 javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
在 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
在 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
在 com.actionbean.ab.filter.AbFilter.doFilter(AbFilter.java:51)
在 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
在 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
在 org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
在 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
在 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
在org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:219)
在 org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:110)
在org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:444)
在 org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:169)
在 org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
在org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:1025)
在 org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
在 org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:445)
在 org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1137)
在 org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:637)
在 org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:319)
在java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
在 org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
在 java.lang.Thread.run(Thread.java:748)
javax.persistence.TransactionRequiredException:没有事务正在进行中
在org.hibernate.internal.AbstractSharedSessionContract.checkTransactionNeededForUpdateOperation(AbstractSharedSessionContract.java:398)
在 org.hibernate.internal.SessionImpl.checkTransactionNeededForUpdateOperation(SessionImpl.java:3584)
在 org.hibernate.internal.SessionImpl.doFlush(SessionImpl.java:1462)
在 org.hibernate.internal.SessionImpl.flush(SessionImpl.java:1458)
在 org.springframework.orm.hibernate5.SessionFactoryUtils.flush(SessionFactoryUtils.java:148)
在 org.springframework.orm.hibernate5.SpringSessionSynchronization.beforeCommit(SpringSessionSynchronization.java:95)
在org.springframework.transaction.support.TransactionSynchronizationUtils.triggerBeforeCommit(TransactionSynchronizationUtils.java:96)
在org.springframework.transaction.support.AbstractPlatformTransactionManager.triggerBeforeCommit(AbstractPlatformTransactionManager.java:919)
在org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:727)
在org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:711)
在org.springframework.transaction.interceptor.TransactionAspectSupport.commitTransactionAfterReturning(TransactionAspectSupport.java:631)
在 org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:385)
在 org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:118)
在 org.springframework.aop.framework.ReflectiveMethodInspiration.proceed(ReflectiveMethodInitation.java:186)
在org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:212)
在 com.sun.proxy.$Proxy89.getAllAbModuleUserMapping(来源未知)
在 com.actionbean.ab.base.WelcomeActionManager.fillModules(WelcomeActionManager.java:249)
在 com.actionbean.ab.base.WelcomeActionManager.createUsrSessBean(WelcomeActionManager.java:211)
在com.actionbean.ab.base.WelcomeActionManager.retrieveSessionUserDataInternal(WelcomeActionManager.java:83)
在 com.actionbean.ab.base.WelcomeActionManager.retrieveSessionUserData(WelcomeActionManager.java:61)
在 com.actionbean.ab.base.WelcomeAction.performExecute(WelcomeAction.java:47)
在 com.actionbean.ab.base.BaseAction.execute(BaseAction.java:153)
在 org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:425)
在 org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:228)
在 org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913)
在 org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:462)
在 javax.servlet.http.HttpServlet.service(HttpServlet.java:647)
在 javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
在 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
在 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
在 com.actionbean.ab.filter.AbFilter.doFilter(AbFilter.java:51)
在 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
在 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
在 org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
在 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
在 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
在org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:219)
在 org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:110)
在org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:444)
在 org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:169)
在 org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
在org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:1025)
在 org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
在 org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:445)
在 org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1137)
在 org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:637)
在 org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:319)
在java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
在 org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
在 java.lang.Thread.run(Thread.java:748)
小智 5
在 hibernate.cfg.xml 文件中使用以下属性
property -- > hibernate.allow_update_outside_transaction = true
Run Code Online (Sandbox Code Playgroud)
参考: https: //developer.jboss.org/thread/278691
| 归档时间: |
|
| 查看次数: |
6090 次 |
| 最近记录: |