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