判断规则:
1): 对象是否有OID;———可以理解对象的Id,数据库中的主键id
2): 判断对象是否被Session所管理(在一级缓存中).
2.临时/瞬时状态
没有oid,没有被session...管理
1):new语句刚创建了一个对象....--------------------
2)情况2):删除状态的对象,在事务提交之后,对象处于临时状态.
临时状态是没有ID的,测试可以打印该对象的ID,发现存在ID....情况1)调用save方法把临时状态变为持久状态
情况2)调用save方法把游离托管状态状态变为持久对象
保存一个对象之后,提交事务/关闭Session,此时对象处于游离状态,
再创建新的Session...session中的方法仅仅是改变对象的状态,不发SQL:
3: 持久化对象的属性真正发生改变时,才会发生UPDAE语句.
----
发生SQL的时机:
默认情况下,在事务提交时,会自动去数据库同步这一次对象变化对应的