Java Org.hibernate.HibernateException:没有活动事务,createQuery无效
接下来,我尝试将Hibernate4.3.8.Final添加到Spring4.1.5.RELEASE中;但是 -代码抛出一个异常,如下所示 有时,我会扔东西 -异常情况是,它无法找到hibernate的实体类(com.myproject.model.MyTable),尽管该类存在并且位于com.myproject.model包中 StackTraceJava Org.hibernate.HibernateException:没有活动事务,createQuery无效,java,spring,hibernate,spring-mvc,hibernate-4.x,Java,Spring,Hibernate,Spring Mvc,Hibernate 4.x,接下来,我尝试将Hibernate4.3.8.Final添加到Spring4.1.5.RELEASE中;但是 -代码抛出一个异常,如下所示 有时,我会扔东西 -异常情况是,它无法找到hibernate的实体类(com.myproject.model.MyTable),尽管该类存在并且位于com.myproject.model包中 StackTrace org.hibernate.HibernateException:没有活动事务,createQuery无效 位于org.hibernate.con
org.hibernate.HibernateException:没有活动事务,createQuery无效
位于org.hibernate.context.internal.ThreadLocalSessionContext$TransactionProtectionWrapper.invoke(ThreadLocalSessionContext.java:352)
位于com.sun.proxy.$Proxy40.createQuery(未知源)
位于com.myproject.repository.TestRepImpl.get(TestRepImpl.java:21)
在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)处
位于sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)中
位于java.lang.reflect.Method.invoke(Method.java:483)
位于org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317)
位于org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190)
在org.springframework.aop.framework.ReflectiveMethodInvocation.procedue(ReflectiveMethodInvocation.java:157)上
位于org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:136)
在org.springframework.aop.framework.ReflectiveMethodInvocation.procedue(ReflectiveMethodInvocation.java:179)上
位于org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:207)
位于com.sun.proxy.$Proxy33.get(未知源)
位于com.myproject.service.TestServiceImpl.get(TestServiceImpl.java:17)
在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)处
位于sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)中
位于java.lang.reflect.Method.invoke(Method.java:483)
位于org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317)
位于org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190)
在org.springframework.aop.framework.ReflectiveMethodInvocation.procedue(ReflectiveMethodInvocation.java:157)上
位于org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:99)
位于org.springframework.transaction.interceptor.TransactionSpectSupport.invokeWithinTransaction(TransactionSpectSupport.java:281)
位于org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96)
在org.springframework.aop.framework.ReflectiveMethodInvocation.procedue(ReflectiveMethodInvocation.java:179)上
位于org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:207)
位于com.sun.proxy.$Proxy35.get(未知源)
位于com.myproject.web.MainController.index(MainController.java:20)
在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)处
位于sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)中
位于java.lang.reflect.Method.invoke(Method.java:483)
位于org.springframework.web.bind.annotation.support.HandlerMethodInvoker.invokeHandlerMethod(HandlerMethodInvoker.java:177)
位于org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.invokeHandlerMethod(AnnotationMethodHandlerAdapter.java:446)
位于org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.handle(AnnotationMethodHandlerAdapter.java:434)
位于org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:943)
位于org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:877)
位于org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:966)
位于org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:857)
位于javax.servlet.http.HttpServlet.service(HttpServlet.java:620)
位于org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:842)
位于javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
位于org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
位于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:220)
位于org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
位于org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:504)
位于org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170)
位于org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
位于org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)
位于org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
位于org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:421)
位于org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1074)
位于org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:611)
位于org.apache.tomcat.util.net.JIoEndpoint$SocketProces
@Controller
public class MainController {
@Autowired
private TestService testService;
@RequestMapping("/{viewName}.htm")
public String index(@PathVariable(value = "viewName") String viewName) {
System.err.println(viewName);
testService.get(1);
if (isValidView(viewName)) {
return viewName;
}
return null;
}
@Service
public class TestServiceImpl implements TestService {
@Autowired
private TestRepDao testDao;
@Transactional
public void get(int i) {
testDao.get(i);
}
}
@Repository
public class TestRepImpl implements TestRepDao {
@Autowired
SessionFactory sessionFactory;
public void get(int id) {
String hql = "from MyTable where id=" + id;
Query query = sessionFactory.getCurrentSession().createQuery(hql);
@SuppressWarnings("unchecked")
List<MyTable> listBusiness = (List<MyTable>) query.list();
System.err.println(listBusiness.get(0));
}
}