Hibernate的三种状态转换
来源:互联网 发布:等到烟火清 知乎 编辑:程序博客网 时间:2024/06/05 05:03
hibernate三种状态:
临时状态(transient):新new出来的pojo对象,还未获得在数据库中的唯一标识符
持久化状态(persistent):与数据库产生了联系,拥有了唯一标识符,拥有了唯一的标识符,存在于session缓存中
游离状态(detached):数据库中有,但是session中不存在该对象
强调一点,对象被持久化并不是说被存储进了数据库,而是通过save(object)方法,加入到了session缓存中,获得了对应表的唯一主键标志
比如:
User user = session.get(User.class,1);
user本身就已经存在于数据库中,通过get/load/list/iterator/find…等方法被从数据库中取出,加载到了session缓存中,同样也是出于持久化状态了。
游离状态,有这几种情况:
1.对象本身就是数据库中的一员,在被加载到session缓存中以后,因为session的关闭,与数据库的同步也被关闭,而处于了游离状态。
2.在session的事务中被迫的进入了游离状态。evict,clear方法,切断了与数据库的链接。
游离状态可以通过update/saveOrUpdate更新进入到缓存,或者lock(貌似已经过时)
0 0
- Hibernate三种状态的转换
- Hibernate三种状态的转换
- hibernate三种状态之间的转换
- Hibernate的三种状态转换
- 【转】Hibernate三种状态的转换
- Hibernate三种状态之间的转换
- Hibernate的三种状态以及状态的转换:
- Hibernate的三种状态以及状态的转换
- hibernate三种状态转换
- hibernate对象的三种状态及之间的转换
- Hibernate对象的三种状态的转换
- hibernate对象的三种状态,转换图:
- Hibernate中数据的三种状态转换
- hibernate对象的三种状态,转换图:
- Hibernate中对象的三种状态及其转换
- Hibernate中Java对象的三种状态及其转换
- hibernate对象三种状态及其转换
- Hibernate 三种状态理解及转换
- Leetcode 566(Java)
- Android中TextView开头空两格的问题
- Wiggle Subsequence
- 几种简单的排序总结
- HDU
- Hibernate的三种状态转换
- 【Java基础】Java字符串常用操作(String类)
- WAMPServer随写笔记,PHP语言结构语句
- django中的forms构建
- Mapreduce实例---流量汇总并按流量大小倒序排序
- 游戏开发中常用的MessageBox
- java中String类的构造函数
- AIDL使用学习(三):源码深入分析
- 以太网网卡的结构和工作原理