hibernate对象状态
问题:
问题1: 主键生成策略不同,save操作时发送INSERT语句的时机不同.
* native: 在保存对象时,发送SQL....特点:没有oid,不在session当中
持久化状态(persistent):
已经被持久化,加入到session的缓存中。...判断规则:
1): 对象是否有OID;———可以理解对象的Id,数据库中的主键id
2): 判断对象是否被Session所管理(在一级缓存中).
2.临时/瞬时状态
没有oid,没有被session...--->设置hibernate.cfg.xml的属性:use_identifier_rollback=true
3.删除状态
特点:此时有OID,被Session所管理中,
但是最终会被删除(我们不关心删除状态的对象...session中的方法仅仅是改变对象的状态,不发SQL:
3: 持久化对象的属性真正发生改变时,才会发生UPDAE语句.
----
发生SQL的时机:
默认情况下,在事务提交时,会自动去数据库同步这一次对象变化对应的