Hibernate的对象状态
对象的状态一般是指对象的一组属性的值,这里的状态是指对象处于什么存储介质中.
用于存储对象存储介质有三个:普通内存(与hibernate无关),Session缓存,数据库.
(1)瞬时态:transient状态,对象在内存中存在,但在DB中无记录,与Session无关,是个过渡状态
(2)持久太:persistent状态,在内存中存在,DB有记录,与Session无关,在Session中有对象的副本,
(3)游离态,detached状态,在内存中存在,在DB中有记录,但是与Session无关
(4)无名态:在内存中不存在,但是在DB中有记录,与Session无关.
hibernate对象的状态?
User u=new User("小兰",28);临时态
session.save(u);-----------持久态
ts.commit()----------------
session.close()----------游离态
状态装换中常用的方法
save():将瞬时状态对象同步在DB中,
update:将游离态对象同步到DB中.
delete():将指定的对象从session中删除,同时也删除DB中的该数据.
close():关闭Session对象
clear():清空Session缓存
saveOrUpdate():根据参数对象的id属性是否为null来判断是执行保存还是更新操作.
evict():将指定对象仅仅从session中删除,但不删除DB中的该数据
load()与get():将无名状态对象转换为持久态对象.
如何清除一级缓存?
clear()
evict()