get() load() persist() 等方法的区别

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()是把处于游离状态对象同步到数据库中
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值