hibernate详解(四)SessionFactory与Ses
2017-10-31 本文已影响0人
秀逼
-
Session的特点:
- Session是线程不安全的,要避免被多个线程所共享,要一个线程对应一个Session对象
- Session是轻量级的,所谓轻量级,是指它的创建和销毁不需要消耗太多的资源,这意味着在程序中可以经常创建和销毁Session对象,例如:为每个客户请求分配单独的Session对象
- Session对象中维护了一个缓存,被称为hibernate的一级缓存,它存放被当前程序加载的持久化对象,每个Session对象都有自己的缓存,这个Session对象的缓存只能被当前线程所访问
-
SessionFactory的特点:
- SessionFactory是线程安全的,SessionFactory对象可以被多个线程共享
- 是重量级的,创建和销毁该对象很消耗系统资源,一般在应用程序启动初始化的时候取创建该对象
- SessionFactory对象维护了一个缓存,用来存放预定义的SQL语句,hibernate.cfg.xml以及映射元数据(XML)的内容等。
- 还提供一个hibernate的二级缓存,需要配置才能使用,该缓存用来存放被程序度过的数据,将来其他的程序可能会重用这些数据,因此这个二级缓存中的数据能被所有的程序所共享。