缓存
- oscache,ehcache 小型的应用
- memory cache,redis,hbase 分布式的应用
一级缓存
概念
为session级别的缓存,一级缓存的生命周期和session的生命周期保持一致。
位置
操作
- get方法
可以把对象放入到一级缓存中,也可以从一级缓存中把对象提取出来
- save方法
该方法可以把一个对象放入到一级缓存中
- evit方法
可以把一个对象从session的缓存中清空
- clear方法
清空一级缓存中所有的数据
- close方法
当调用session.close方法的时候,一级缓存的生命周期就结束了
session
创建session的方式
sessionFactory.openSession
每次都要创建一个新的session,相当于一个新的连接
sessionFactory.getCurrentSession
在hibernate.cfg.xml文件中
如果用该方法产生session,则crud操作必须在事务的环境下运行
当执行transaction.commit的方法的时候,session自动关闭。
说明:
这么做相当于把session与transaction绑定在一起了。
当事务提交的时候,session关闭不好,因为如果事务提交以后,再做关于数据库
的操作,就不能做了。
关系操作
一对多的单项
inverse与cascade的关系
cascade指的是级联操作,操作的是一般属性,指的是对象与对象的操作
inverse指的是关系操作,针对的就是外键