★→→SessionFactory (orghibernateSessionFactory)
包含已经编译的映射(mappings)是制造session的工厂可能含有一些可以在 各个事务(transaction)之间共享的数据
() SessionFactory的缓存
可分为两类内置缓存和外置缓存
SessionFactory的内置缓存中存放了Hibernate配置信息和映射元数据信息同时也缓存了Hibernate自动生成的SQL语句等
SessionFactory的外置缓存是一个可配置的缓存插件在默认情况下SessionFactory不会启用这个缓存插件外置缓存 能存放大量数据库数据的拷贝外置缓存的物理介质可以是内存或者硬盘
() 只有一个数据存储源只需创建一个SessionFactory
SessionFactory就是个重量级对象如果应用只有一个数据存储源只需创建一个SessionFactory实例 因为随意地创建SessionFactory实例会占用大量内存空间 但是当你的项目要操作多个数据库时那你必须为每个数据库指定一个SessionFactory
() Configuration的其他用法
Configuration的configure ()方法还支持带参数的访问方式你可以指定hbmxml文件的位置而不是使用默认的classpath 下面的hibernatecfgxml这种方式例如
Configuration cfg = new Configuration()
configure(
myexample
xml
);
★★→→Configuration
Configuration是hibernate的入口在新建一个Configuration的实例的时候hibernate会在classpath里面查找 hibernateproperties文件如果该文件存在则将该文件的内容加载到一个Properties的实例GLOBAL_PROPERTIES里面 如果不存在将打印信息hibernateproperties not found 然后是将所有系统环境变量(SystemgetProperties())也添加到LOBAL_PROPERTIES里面如果hibernateproperties文件存在 系统还会验证一下这个文件配置的有效性对于一些已经不支持的配置参数系统将打印警告信息
() 作用实现对Hibernate进行配置
Configuration接口的作用是对Hibernate进行配置以及对它进行启动
在Hibernate的启动过程中Configuration类的实例首先定位映射文档的位置读取这些配置然后创建一个SessionFactory对象
根据Configuration对象创建一个SessionFactory对象
为了能创建一个SessionFactory对象你必须在Hibernate初始化时创建一个Configuration类的实例并将已写好的映射文件交由它处理 这样Configuration对象就可以创建一个SessionFactory对象当SessionFactory对象创建成功后Configuration对象就没有用了你可以简单地抛弃它
() 它是启动hibernate的对象
虽然Configuration接口在整个Hibernate项目中只扮演着一个很小的角色但它是启动hibernate时你所遇到的第一个对象
()
Configuration config = new Configuration();
configaddClass(Customerclass);
sessionFactory = configbuildSessionFactory();
或者
[] [] [] []