ID生成策略与Save() 是否发出sql语句初探:

 

ID生成策略与Save() 是否发出sql语句初探:

  1. 主键生成侧路采用的是uuid,所以调用完成save后,只是将实体对象纳入到了session的管理,并不会发出insert语句,但是id已经生成,sessionexistsInDatebase状态为false,所以在事务未commit()的时候是不会发出sql语句的。
  2. 主键生成策略为native/Identity(自动增长策略),所以调用session.save后,将执行insert语句,返回有数据库生成的id,纳入了session的管理,修改了sessionexistsInDatebase状态为true  
  3. 如果数据库的隔离级别设置为为提交读,那么我们就可以看到save过的数据。

你可能感兴趣的:(sql)