Session的几个主要方法
1.save,persist保存数据,persist在事务外不会产生insert语句。
save()方法和persist()方法在没有开启事务情况下save()会先向数据库中插入一条数据,然后回滚事务删除该数据 .persist()方法则不会向数据库中插入数据而是抛出异常
2.delete,删除对象
3.update,更新对象,如果数据库中没有记录,会出现异常。对象处于脱管状态使用
4.get,根据ID查,会立刻访问数据库。类似JPA中的find()方法
5.Load,根据ID查,(返回的是代理,不会立即访问数据库)。和JPA中的getReference()方法类似得到代理对象
6.saveOrUpdate,merge(根据ID和version的值来确定是save或update),调用merge你的对象是脱管的。使用这个方法数据库中要有ID字段
7.lock(把对象变成持久对象,但不会同步对象的状态)。
8.merge()是把处于游离状态对象同步到数据库中
get() load() persist() 等方法的区别
原创mb644a35cf350e4 博主文章分类:Hibernate学习笔记 ©著作权
©著作权归作者所有:来自51CTO博客作者mb644a35cf350e4的原创作品,请联系作者获取转载授权,否则将追究法律责任
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
Hibernate用于测试refresh的方法、get和load的区别、测试persist和save的区别
package com.eduask.test;import java.util.Date;import java.util.List;import org.hibernate.Criteria;import org.hibernate.Query;import org.hibernate.Session;import org.hibernate.SessionFactor
Hibernate refresh的方法 Hibernate get和load的区 Hibernate 测试persist和 hibernate 数据库 -
Hibernate get() load()的区别
体的代理类,get方法则返回真正的实体类...
Hibernate SQL 数据 缓存 数据库 -
save和persist方法的区别
save方法:瞬时态 转换 持久态 会初始化OID1,执行save方法 ,立即触发insert语
mybatis 缓存 持久化 主键 -
harmonyos自定义组件如何导入
一.自定义组件使用(1)自定义组件创建 JS UI框架支持自定义组件,用户可根据业务需求将已有的组件进行扩展,增加自定义的私有属性和事件,封装成新的组件,方便在工程中多次调用,提高页面布局代码的可读性。1.创建新的模板2. 修改首页,通过C:\Users\86156\DevEcoStudioProject
harmonyos自定义组件如何导入 javascript 开发语言 ecmascript 自定义组件