Java Org.hibernate.HibernateException:没有活动事务,createQuery无效

Java 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

接下来,我尝试将Hibernate4.3.8.Final添加到Spring4.1.5.RELEASE中;但是 -代码抛出一个异常,如下所示 有时,我会扔东西 -异常情况是,它无法找到hibernate的实体类(com.myproject.model.MyTable),尽管该类存在并且位于com.myproject.model包中

StackTrace

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));

    }

}