浅谈session和sessionFactory

884 阅读1分钟

基本概念:

SessionFactory:是生产session的工厂,是Hibernate针对单个数据库映射关系经过编译后的内存镜像。sessionFactory属于单例对象,一个应用中只构造一次实例,并需要在hibernate.cfg.xml中进行配置。

session: 接口是Hibernate直接操作数据库的,具备删除、保存、更新、加载java对象的方法。持久化类依赖于session实现持久化操作。

分类: session对象有一个缓存,可减少访问数据库的频率。常用的处理session缓存的操作:flush、refresh、clear。

flush: 将缓存对象同步更新到数据库

refresh: 通过发送select语句,将数据库的数据同步更新到缓存对象

clear: 清理session缓存

补充: flush和 commit的区别:

flush: 操作sql,但并未提交事务

commit: flush,再提交事务,永久保存数据库