org.hibernate.HibernateException: No Hibernate Session bound to thread, and configuration does not allow creation of non-transactional one here
org.springframework.orm.hibernate3.SpringSessionContext.currentSession(SpringSessionContext.java:63)
org.hibernate.impl.SessionFactoryImpl.getCurrentSession(SessionFactoryImpl.java:687)
com.tc.common.dao.BaseHibernateDao.getSession(BaseHibernateDao.java:67)
com.tc.common.dao.BaseHibernateDao.createCriteria(BaseHibernateDao.java:266)
com.tc.common.dao.BaseHibernateDao.find(BaseHibernateDao.java:248)
com.tc.common.dao.BaseHibernateDao.findBy(BaseHibernateDao.java:143)
出现这种异常是因为service层没加@Transactional所致
分享到:
相关推荐
Spring提供了几种事务通知类型,如`@Transactional`注解、`tx:advice`元素等。在XML配置中,我们可以使用`<tx:advice>`元素来定义一个事务通知: ```xml *" propagation="REQUIRED"/> ``` 这里,`*`表示...
- Spring 3.0引入了基于Java的配置,事务管理可以通过`@EnableTransactionManagement`注解开启,然后在配置类中使用`@Transactional`注解进行方法级别的事务配置,或者使用`@Configuration`和`@Bean`定义事务管理器...
源码分析中,我们可以看到Spring如何在运行时解析`@Transactional`注解,如何创建和维护事务,以及如何处理异常以决定事务是否需要回滚。例如,当出现未检查异常(继承自`RuntimeException`的异常)时,Spring会默认...
本章将详细探讨Spring4中的切面事务处理、事物通知以及传播行为。 一、切面编程(AOP) 切面编程是Spring框架的一大特色,它允许开发者将关注点如日志记录、事务管理等从主业务逻辑中分离出来,形成独立的模块,即...
spring注解+hinbernate注解 事物配置 这是第4部分有问题可以联系我QQ 523998647
本示例将深入探讨如何使用注解来实现事务控制以及如何在Spring Boot中运用多线程。 首先,让我们关注"注解事务"。在Spring框架中,我们主要依赖`@Transactional`注解来声明事务边界。当一个方法被这个注解标记时,...
【Spring 中的事务管理】 在 Spring 框架中,事务管理是确保应用程序在处理数据库操作时遵循 ACID(原子性、一致性、隔离性和持久性)原则的关键组件。ACID 是事务处理的基本准则,保证了数据的一致性和完整性。 1...
### Spring事务配置的五种模式详解 在Spring框架中,事务管理是十分重要的特性之一,它可以帮助开发者确保数据的一致性和完整性。对于不同的业务场景,Spring提供了多种事务配置的方式,以便于灵活应对各种需求。...
在Spring框架中,事务管理是核心功能之一,它确保了数据操作的一致性和完整性。本文将详细介绍SSH(Spring、Struts、Hibernate)框架整合时,Spring配置事务的五种方式。首先,我们要理解Spring事务配置的基本组成...
Spring.NET 是一个基于 .NET Framework 的轻量...通过这个小示例,你将学习如何在 Spring.NET 中设置声明式事务管理,以及如何通过配置和注解控制事务的行为。这有助于创建更稳定、可扩展和易于维护的 .NET 应用程序。
本篇文章将详细探讨“注释事物控制”在Spring MVC与Hibernate集成环境下的应用。 首先,我们来了解Spring中的事务管理。Spring提供了两种主要的事务管理方式:编程式事务管理和声明式事务管理。编程式事务管理通过...
"spring-控制事物回滚"这个主题主要涉及Spring如何在出现异常时自动或手动触发事务的回滚,以及如何配置和使用Spring的事务管理机制。我们将深入探讨Spring事务管理的原理、API使用以及在实际开发中的应用。 首先,...
标题"spring编程式事物"主要关注的是编程式事务管理。这种方式允许开发者通过`PlatformTransactionManager`接口和`TransactionDefinition`接口来控制事务的生命周期。在Spring中,通常使用`TransactionTemplate`或者...
2. **声明式事务管理**:这是Spring最常用的方式,通过在配置文件或者使用`@Transactional`注解来定义事务边界,使得事务管理与业务逻辑分离,降低了代码的耦合度。`@Transactional`注解可以应用于方法级别,表示该...
综上所述,Spring 2.x的声明式事务配置模板主要由`applicationContext.xml`中的事务管理器配置和注解驱动的事务管理两部分组成,结合`@Transactional`注解在业务逻辑中的使用,可以实现自动化、高效且易于维护的事务...
- **声明式事务管理**:基于AOP(面向切面编程),通过在方法或类上添加@Transactional注解来声明事务属性,由Spring容器在运行时自动处理事务开始、提交或回滚。 - **编程式事务管理**:在代码中显式调用...
在配置文件中声明事务属性,如事务的传播行为、隔离级别、超时时间、是否回滚等,然后在方法上添加@Transactional注解,Spring会在背后自动进行事务管理。这种方式降低了代码耦合,使事务管理更加集中,易于维护。 ...
MyBatis是一个轻量级的持久层框架,它允许开发者通过XML或注解定义SQL语句,然后在Spring中通过SqlSessionTemplate或SqlSessionFactoryBean进行事务管理。在这样的集成环境中,Spring的事务管理能覆盖到MyBatis的...