日期:2014-05-16 浏览次数:20424 次
?
Session? flush:
默认在commit之前执行flush。
Session? flush方法主要做了两件事
?????????? 1清理缓存
?????????? 2 执行sql
Session flush 在什么时候执行:
?????????? 1 默认在事务提交commit时
?????????? 2, 显示调用。
???? 3 在执行查询前,如 iterate。
hibernate按照save(insert),update、delete顺序提交相关操作
?
?
数据库隔离级别:
?
大部分数据库采用 read commited。
Mysql 默认采用repeatable read。
脏读:事务还没提交,就可以读到,此时如果事务回滚,就出现脏数据。
不可重复读:第一次读的为A,之后另一个人修改为B,此时再读,显示为B,与第一次读的不同,出现不可重复读。解决办法:在第一次读的时候锁住该条记录,别人修改不了。
幻读:第一次查询读出5条数据,之后别人添加记录,当第二次读的时候,变成10条记录。此时为幻读。
?
?
/**
?* 测试uuid主键生成策略
?*/
tx = session.beginTransaction();
??????????????????