码迷,mamicode.com
首页 > Web开发 > 详细

Hibernate - cascade-and -session_state

时间:2015-07-30 18:37:21      阅读:137      评论:0      收藏:0      [点我收藏+]

标签:

cascade属性:
默认为none,代表不级联。
级联是指操作主对象时,对关联的对象也做相同的操作。
可设为:delete, save-update, all, none ...--

一般是对象只归归另一个管时用级联(一对多,一对一);多对1,多对多不级联

 

对象的状态:

// save():把临时状态变为持久化状态(交给Sessioin管理)
// 会生成:insert into ...

 

// update():把游离状态变为持久化状态
// 会生成:update ...
// 在更新时,对象不存在就报错

 

// saveOrUpdate():把临时或游离状态转为持久化状态
// 会生成:insert into 或 update ...
// 在更新时,对象不存在就报错
// 本方法是根据id判断对象是什么状态的:如果id为原始值(对象的是null,原始类型数字是0)就是临时状态,如果不是原始值就是游离状态。

 

// delete():把持久化或游离转为删除状态
// 会生成:delete ...
// 如果删除的对象不存在,就会抛异常

 

游离和持久化都是在数据库中有记录的,临时是刚New出来的,在session的管理中,数据库没记录;游离是session关闭之后从session容器关闭后被赶出来的对象状态

 

Session中的方法。
对象的状态:
Session中 数库中
-----------------------
临时 无 无
持久化 有 最终会有
游离 无 有
删除 调用了delete()方法后


1,操作实体对象的
save()
update()
saveOrUpdate()
delete()

2,操作缓存的
clear() 清空Session缓存,不会执行sql语句。
evict()
flush() 马上执行sql语句,不会清楚Session缓存。

3,查询实体对象的
get()
load()
createQuery()
createCriteria()

Hibernate - cascade-and -session_state

标签:

原文地址:http://www.cnblogs.com/daxiong225/p/4689918.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!