guokehua(@yahoo.com.cn oy Java 1010 17 Hibernate详角 2008-3-10 郭克华EE框架实战教学视频
2008-3-10 1 oy Java! J guokehua@yahoo.com.cn 郭克华J2EE框架实战教学视频 17Hibernate Hibernate详解
guokehua(@yahoo.com.cn 了y持久化层- O/R Mapping 」基于BS的典型三层架构 1d展现层( Presentation 业务逻辑层 持久化层(Data Laver) ( Buseness Layer) source Layer) Web Work/Struts loc Spring loc Hibernate loC容器, 映射文件 Action. Form Bean ,配 置文件,模板页面 AOP, Hibernate的支 Hibernate接口, 持,事务管理 DAO模式 Domain Model Business Objects 008-3-10 郭克华J2EE框架实战教学视频
2008-3-10 2 oy Java! J guokehua@yahoo.com.cn 郭克华J2EE框架实战教学视频 持久化层-O/R Mapping O/R Mapping 基于B/S的典型三层架构 的典型三层架构
guokehua(@yahoo.com.cn oy yava! ibernate核心接口 业务逻辑层 Lifecycle Persist Interceptor 1010 Class Validatable UserType 持久化层 Session Factory Session Transaction Query Configuration JNDI JDBC JTA 008-3-10 郭克华J2EE框架实战教学视频
2008-3-10 3 oy Java! J guokehua@yahoo.com.cn 郭克华J2EE框架实战教学视频 Hibernate Hibernate核心接口
guokehua(@yahoo.com.cn oy Java! org.hibernate. cfg Configuration 作用: Configuration类负责管理 Hibernate的 配置信息: hibernate. cfgxmi Hibernate映射文 1010 件(* lbm.xn);生成 session Factory 使用方法: 口读Xm文件( hibernate cfe g-xml 9 Configuration cfg new Configuration O;, 然后调用它的 configured方法,默认读 hibernate. cfg xml 1口 configur方法可以指定参数 o a add Resource(String path)方法指定hbm文件路径 口 add class(class persistentClass)方法指定类 口注意:这是一个瞬态对象,一旦 sessionFactory 建立成功就被丢弃了,占据资源较少 008-3-10 郭克华J2E框架实战教学视频
2008-3-10 4 oy Java! J guokehua@yahoo.com.cn 郭克华J2EE框架实战教学视频 org.hibernate.cfg.Configuration ¾ 作用 :Configuration Configuration 类负责管理Hibernate Hibernate 的 配置信息:hibernate. hibernate.cfg .xml ;Hibernate Hibernate映射文 件(*.hbm .xml );生成sessionFactory sessionFactory ¾ 使用方法 : 读Xml文件(hibernate. hibernate.cfg .xml ) Configuration Configuration cfg = new Configuration() = new Configuration(); , 然后调用它的configure configure()方法,默认读 hibernate. hibernate.cfg .xml configure configure()方法可以指定参数 方法可以指定参数 addResource addResource (String path) 方法指定hbm文件路径 addClass addClass (Class persistentClass persistentClass ) 方法指定类 注意: 这是一个瞬态对象,一旦 这是一个瞬态对象,一旦sessionFactory sessionFactory 建立成功就被丢弃了,占据资源较少 建立成功就被丢弃了,占据资源较少
guokehua(@yahoo.com.cn oy Java! org. hibernate Session Factory >概述:应用程序从 Session Factory里获得 Session 实例。通常情况下,一个数据库只有唯一的一个 Session Factory,例如在应用初始化时被创建。 会话工厂缓存了生成的SQL语句和 Hibernate在运行 时使用的映射元数据。 >言下之意: session Factory消耗内存,目的是为每 个客户生成连接,问 session Factory实例适合放在 哪里?( application内) >怎样生成? Session Factory session Factory cfg. buildSessionFactoryo 008-3-10 郭克华J2EE框架实战教学视频
2008-3-10 5 oy Java! J guokehua@yahoo.com.cn 郭克华J2EE框架实战教学视频 org.hibernate.SessionFactory ¾ 概述:应用程序从SessionFactory SessionFactory里获得Session Session 实例。通常情况下, 实例。通常情况下,一个数据库只有唯一的一个 只有唯一的一个 SessionFactory SessionFactory ,例如在应用初始化时被创建。 例如在应用初始化时被创建。 ¾ 会话工厂缓存了生成的 会话工厂缓存了生成的SQL语句和Hibernate Hibernate在运行 时使用的映射元数据。 时使用的映射元数据。 ¾ 言下之意:sessionFactory sessionFactory消耗内存,目的是为每一 个客户生成连接 个客户生成连接,问:sessionFactory sessionFactory实例适合放在 哪里?(application application内) ¾ 怎样生成? SessionFactory SessionFactory sessionFactory sessionFactory = cfg.buildSessionFactory buildSessionFactory();