Hibernate学习笔记
sessionFactory保持着与数据库相关的UrlPassword以及映射关系工厂模式的线程安全类
Session是非线程安全的代表一个与数据库的连接BS项目中一般去超过一个请求时间过长会导致内存占用过多
Session
线程安全有三种情况一种是类的内部只有只读属性一种是类的方式使用了Syst关键字一种是String一样不可更改的类
Structs1以及Servlet以及过滤器都是单实例非线程安全的类
session.flush()保证一级缓存的数据与数据库同步
clear()保证清空一级缓存
如果POJO主键为native(自增长)时
数据会在提交之前进行数据同步
Hilo(到低位)
缓存中的数据与数据库相比如果更改
Hibernate会清除缓存
missHit命中
二级缓存的配置:OsCache(最常用)
evict()清除某一条缓存
二级缓存并不一定很理想尤其对于查询
hibernate提供乐观锁定机制只需在pojo中指定一个int/integer/date类型的版本戳
在xml文件中直接配置<ver>or<time>即可实现
悲观锁是只数据库会对某一个操作加锁其他线程进来却不能访问直到该线程释放为止!