1. Configuration
Configuration是用来读取配置文件,从配置文件中构件SessionFactory的。
SessionFactory sessionFactory=new Configuration().configure().buildSessionFactory();
Session session=sessionFactory.openSession();
Configuration是配置文件在内存中的表示。
2. SessionFactory
SessionFactory是用来建立Session的
1. SessionFactory是重量级的类,需要消耗的资源比较多。
2. SessionFactory是线程安全的
3. 一般来说SessionFactory是全局唯一的,一个配置文件Configuration对应着一个SessionFactory就可以了。
打开一个新的Session:
Session session=sessionFactory.openSession();
得到与当前线程绑定的Session:
Session session=sessionFactory.getCurrentSession();
3. Session
Session是用来操作数据库的核心对象
1. 增删改查
refresh()
evict()
clear()
flush()
2. Session的管理方式
get() VS load()
get()方法不会使用延迟加载,调用get()的时候就立即进行查询。
load()方法会使用延迟加载的,调用load()方法的时候返回一个代理对象,这个代理对象中只保存了实体对象的ID值,只有真正获取对象的时候才会发出查询语句。
4. Transaction
用于操作事务的对象。
//开启事务
tx.begin(); //提交事务
tx.commit(); //回滚事务
tx.rollback();
Session提供了开启事务的包装方法:
session.beginTransaction();
参考资料:
1. http://blog.csdn.net/zhifengsun/article/details/18797811
.