一级缓存的清空:
clear方法清空所有
evict(object)清除单个对象
事务隔离级别的设置:
在核心配置文件中使用hibernate.connection.isolation的属性名。隔离级别分别使用如下数字表示
1读未提交(read uncommttied)
2读已提交(read committed)
4可重复读(repeatable read)mysql默认级别
8可串行化(seriliaziable)
<property name="hibernate.connection.isolation">4</property>
事务管理
在service层的中开启事务,Dao层是单个的业务逻辑。所以我们需要确保一个事务中的单个业务逻辑的session是同一个session对象
为了保证连接对象是同一个的方法:
向下传递:DBUtils使用的是这种方法
线程绑定:ThreadLocal的类,将连接对象绑定到线程上,然后通过线程获取。
Hibernate框架已经绑定好了ThreadLocal对象,SessionFactory提供了getCurrentSession的方法获取当前session对象。
但是需要在核心配置文件中进行配置。
<property name="hibernate.current_session_context_class">thread</property>