您的位置:首页 > 其它

Hibernate学习笔记:session操作对象

2010-07-01 11:29 369 查看
Session提供了基本的crud操作, 事务控制, 一级缓存。

save(): 保存一个新对象到数据库。对应插入数据库中的一条记录, 这里要注意的是,如果该对象的主键配置为identity, increment, forgign, sequence等等,则在save的时候不能指定id,如果id generator配置为assigned,则必须指定id.



update(): 更改一个对象,对应的更改数据库中的一条记录;



delete(): 删除一个已经存在的对象,对应的删除数据库中的一条记录



get() 和 load() ,他们都通过id加载一个对象,然而区别很大,区别有2:

1: get如果没有找到数据,会返回null,load如果没有找到与id对应的数据,会抛出exception.

2: 他们有延迟加载的区别,get会直接返回那个对象(如果有的话),而load会先返回一个代理对象,只有当真正用这个对象的属性或方法的时候才会去查数据库,

: saveOrUpdate(): 同时包括save和update方法,如果传入的是一个新对象(后面提到的瞬时对象)则调用save,如果传入的是一个已经在数据库中存在的对象(后面会提到的托管对象), 则调用update. beginTransaction(): session通过该函数申明事务开始. 通过transaction.commit()申明事务结束. session中带有一级缓存, 是内置的, 像这个代码片中,只会查一次数据库,因为第二次会现在session的缓存中寻找.



本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/sunxing007/archive/2009/08/21/4469284.aspx
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐