Session的策略
来源:互联网 发布:末日拾荒者 知乎 编辑:程序博客网 时间:2024/06/08 03:54
今天遇到了Spring和Hibernate4.2.x系列个问题
save is not valid without active transaction
这句话一看就是和事务有关,我开始一直找Service层和dao层里面代码有问题吗,结果白找了
最后在这里
<prop key="hibernate.current_session_context_class">org.springframework.orm.hibernate4.SpringSessionContext</prop>
我开始配置的是Thread在Hibernate4.2.x中不认这个,只有org.springframework.orm.hibernate4.SpringSessionContext才认,所以在此记录顺便说一下Session策略的作用
current_session_context_class
这个是hibernate3.1以后的一个新扩展,目的在于可以让我们在某一个上下文环境(比如说当前线程)中可以通过SessionFactory.getCurrentSession()得到同一个session会话。
使用 Hibernate 的大多数应用程序需要某种形式的“上下文相关的”会话,特定的会话在整个特定的上下文范围内始终有效。然而,对不同类型的应用程序而言,要为什么是组成这种“上下文”下一个定义通常是困难的;不同的上下文对“当前”这个概念定义了不同的范围。
在spring中应该把这个上下文交给Spring去管理(因为我们的事务aop也是在spring范围中
为什么配置Thread会出错
因为以前在Hibernate中配置的Thread,并没有Spring,所以当前Session不会牵扯到Spring。
但是事务管理在Spring中去了以后就不能Thread,必须org.springframework.orm.hibernate4.SpringSessionContext
class SpringSessionContext implements CurrentSessionContext
SpringSessionContext 实现了CurrentSessionContext的接口,currentSession()方法就会返回当前Session
- Session的策略
- WebLogic的Session持久化策略
- Hibernate -- Session的主键生成策略
- 负载均衡时 session 的处理策略
- django的session保存策略(时间)
- Tomcat的Session过期处理策略
- Nginx服务器对session的处理策略
- session共享策略
- Spring2.5 访问 Session 属性的四种策略
- Spring2.5 访问 Session 属性的四种策略
- Spring访问会话session的四种策略
- Weblogic的五种Session持久化策略及NotSerializableException
- Spring2.5 访问 Session 属性的四种策略
- Spring2.5 访问 Session 属性的四种策略
- spring3.X mvc 使用Session属性的策略
- zk中session的分桶管理策略
- 负载均衡-Session处理策略
- 负载均衡-Session处理策略
- linux 根据当前日期获取上个季度的第一天和最后一天
- 一个完整的猫眼程序
- 最长上升子序列O(nlogn)
- 深度优先遍历
- uva 11400——Lighting System Design
- Session的策略
- 生成一个螺旋数组
- 绕钉子的绳子
- Linux后台运行过程查看
- myeclipse更换workspace后,出现warining问题的解决方案
- C++primer__泛型算法-泛型算法结构
- hive与hbase关联表的创建,外表方式
- LeetCode 26 : Remove Duplicates from Sorted Array (Java)
- HDU 4562 守护雅典娜(动态规划)