Session方法(1)

1.save()方法
用于将一个临时对象转变为持久对象,也就是将一个新的业务实体保存到数据库中。
(1)如果在持久化类的映射文件中为标识符ID指定了生成方式,那么程序中为ID赋值是无效的。
(2)执行save()时并不生成SQL语句,而是将持久化对象保存在Session缓存中,当提交事务时才生成SQL语句。
(3)应尽量在调用save()方法之前对对象进行修改,如果在调用后修改,提交事务时将执行一条insert和一条update语句,影响运行效率。
(4)程序中应避免将处于游离态的持久化对象使用另一个Session实例对其进行持久化,否则新的Session会将其当做一个新的持久化对象进行持久化操作。//应该使用update
2.update()方法
用于将一个游离态对象重新转为持久化对象,也就是更新一个已经存在的业务实体到数据库中。
(1)当需要更新大量对象时,可以使用批处理方法。具体为:添加xml中的属性 hibernate.jdbc.batch_size 来设定对数据库进行批量删除,批量更新和批量插入的时候的批次大小,有点相当于设置Buffer缓冲区大小的意思。之后在程序中调用session.flush()来提交修改内容,再调用session.clear()来清空缓存。
3.saveOrUpdate()方法
Hibernate自动确定对象的状态并选择合适的方法进行持久化操作。
4.delete()方法
用于删除与传入的持久化类对象对应的数据库中的记录,对象可以是持久化态和游离态的,但不能是临时态的。
(1)若是持久化态,则在Session销毁时执行DELETE语句,若是游离态的,先转为持久态,再在Session销毁时执行DELETE语句。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值