HIbernate 操纵实体对象

1  Session的save()方法用于保存临时对象,并将其状态转化为持久状态,纳入Session的缓存中

2  Session的update()方法用于更新持久对象或是重新将托管对象纳入Session缓存持久对象。

3  Session的saveorupdate()方法包括了 save 和update方法。saveOrUpdate()方法会自动判断传入的对象处于什么状态,如果对象是零食状态 则调用save()方法。如果是托管或者是持久状态 则调用 update()方法。

4  不管是save,update,saveorupdate,delete方法,在方法调用的时候并不发送SQL语句,而是要等事物提交清理  Session缓存时才会发送SQL语句(也可以在事务提交前用Session的flush方法清理缓存,发送SQL语句)

5  get()方法通过主键ID立即检索对象(不管次对象在配置文件中设置的是不是立即还是延迟检索)当对象不存在是返回NULL

6  如果是延迟检索,load()方法不会发送SQL语句到数据库,它简单的生成一个代理,此代理对象只拥有主键ID,此对象在被使用的时候,首先会在缓存中更具ID查询对象,如果缓存中没有才从数据库中加载。如果拥有次ID的数据在数据库中不存咋,LOAD()方法会抛出例外。

7  Iterator()方法首先会从数据库中检索对象的ID,然后在缓存中查找是否有此Id的值对象存在,如果有直接返回,如果没有则发送SQL语句冲数据库中加载。对于缓存中已有数据 使用iterator方法可以改善性能,因为只需要重数据库中加载ID字段;如果缓存中没有这些对象,则次方法反而会儿影响性能,因为它一开始就要多发送SQL语句去的ID·······

8  Session的Clear()方法用于清空当前的Session缓存,evict方法用于将一个对象从缓存中清楚。

9  设置casade="delete"在删除根对象的时候会删除级联附属对象,casade="delete-orphan"主要用于重集合中删除对象,删除的对象会成为托管对象。一对一,一对多casade="save-update"

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值