native 本地数据库的主键策略。
hibernate对象状态
问题:
问题1: 主键生成策略不同,save操作时发送INSERT语句的时机不同.
* native: 在保存对象时,发送SQL...判断规则:
1): 对象是否有OID;———可以理解对象的Id,数据库中的主键id
2): 判断对象是否被Session所管理(在一级缓存中).
2.临时/瞬时状态
没有oid,没有被session...对象是临时瞬时状态:没有id,不被session管理
//——————主键策略为 native,保存的时候就发送sql语句
//开启事物
session.getTransaction().begin...删除状态的对象必须等到session刷新(flush),
事务提交时才真正从数据库中删除
1)游离状态到删除状态
游离状态:有oid,不被session管理
//游离状态—>删除状态
User...session中的方法仅仅是改变对象的状态,不发SQL:
3: 持久化对象的属性真正发生改变时,才会发生UPDAE语句.
----
发生SQL的时机:
默认情况下,在事务提交时,会自动去数据库同步这一次对象变化对应的