hibernate配置.ppt
《hibernate配置.ppt》由会员分享,可在线阅读,更多相关《hibernate配置.ppt(41页珍藏版)》请在三一办公上搜索。
1、Hibernate配置,目 录,1 Hibernate概述2 第一个Hibernate程序3 Hibernate的配置文件4 深入理解持久化对象5 Hibernate的映射文件6 JPA Annotation介绍7 本讲小结,Hibernate体系结构,简要的Hibernate体系架构,Hibernate全面解决方案体系架构,Hibernate全面解决方案架构解释,SessionFactory单个数据库映射关系经过编译后的内存镜像。Session它是应用程序和持久存储层之间交互操作的一个单线程对象瞬态对象系统进行new关键字进行创建的Java 实例,没有Session 相关联,此时处于瞬态持久
2、化对象如果PO 实例与Session实例关联起来,且该实例关联到数据库的记录脱管对象如果PO实例曾经与Session实例关联过,但是因为Session的关闭等原因,PO实例脱离了Session 的管理,Hibernate全面解决方案架构解释,事务(Transaction)代表一次原子操作,它具有数据库事务的概念但它通过抽象,将应用程序从底层的具体的JDBC、JTA和CORBA事务中隔离开。一个Session 之内可能包含多个Transaction对象。所有的持久化操作都应该在事务管理下进行,即使是只读操作。连接提供者(ConnectionProvider)生成JDBC的连接的工厂,同时具备连接
3、池的作用他通过抽象将底层的DataSource和DriverManager隔离开。这个对象仅在应用程序需要扩展时使用。事务工厂(TransactionFactory)生成Transaction对象实例的工厂,Hibernate工作原理,从流程图中可以看出,Hibernate的执行过程如下:(1)配置好hibernate的配置文件和与类对应的配置文件后,启动服务器。(2)服务器通过实例化Configeration对象,读取cfg.xml文件的配置内容,并根据相关的需求建好表或者和表建立好映射关系。(3)通过实例化的Configeration对象创建一个sessionFactory实例。(4)通过
4、sessionFactory实例可以创建session对象。(5)得到session之后,便可以开始一个事务,然后就可以通过Session接口提供的各种方法操纵对数据库的访问。除了比较复杂的全文搜索外,简单的操作都可以通过hibernate封装好的session内置方法来实现。(6)操作完成后,提交数据库操作结果,关闭Session连接。,Hibernate的配置,Configuration对象org.cfg.Configuration实例代表一个应用程序到SQL数据库的映射配置,Configuration提供了一个buildSessionFactory()方法,该方法可以产生一个不可变的Se
5、ssionFactory对象。配置Hibernate的方式使用properties文件作为配置文件。使用cfg.xml文件作为配置文件。不使用任何的配置文件,以编码方式来创建Configuration对象。,Hibernate的配置,JDBC连接属性配置数据库方言配置JNDI数据源的连接属性配置Hibernate事物属性配置二级缓存相关属性配置外连接抓取属性配置其他常用的配置,JDBC连接配置中最重要的设置,connection.driver_class:设置连接数据库驱动。connection.url:设置所连接数据库服务的URL。connection.username:连接数据库的用户名。
6、connection.password:连接数据库的密码。connection.pool_size:设置hibernate数据库连接池的最大并发连接数。dialect:设置数据库连接所使用的方言。,其他常用的配置属性,show_sql:是否在控制台输出Hibernate生成的SQL语句,只能为true或者false两个值format_sql:是否将SQL语句转换成格式良好的SQL语句。use_sql_comments:是否在Hibernate生成的SQL语句中添加有助于调试的注视,只接受true和false两个值。jdbc.fetch_size:指定JDBC抓取数量的大小,它可以接受一个整数值
7、,其实质是调用Statement.setFetchSize()方法。jdbc.batch_size:指定Hibernate使用JDBC2的批量更新的大小,它可接受一个整数值,建议是取5到30之间。connection.autocommit:设置是否自动提交。通常不建议自动提交。hbm2ddl.auto:设置当创建SessionFactory是,将Drop刚建的数据表。该属性可以是update、create和drop-create三个值。,目 录,1 Hibernate概述2 第一个Hibernate程序3 Hibernate的配置文件4 深入理解持久化对象5 Hibernate的映射文件6 J
8、PA Annotation介绍7 本讲小结,持久化类的要求,提供一个无参的构造器提供一个标识属性标识属性的类型尽量避免基本类型为持久化类的每个属性添加set和get方法使用非final类重写equal()和hashCode()方法,持久化对象的状态,持久化对象 PO=POJO+映射文件PO可有以下的3种状态。瞬态:如果PO实例从未与Session实例关联过,该实例处于瞬态状态。持久化:如果PO 实例与Session实例关联起来,且该实例关联到数据库的记录。脱管:如果PO实例曾经与Session实例关联过,但是因为Session的关闭等原因,PO实例脱离了Session 的管理,这种状态被称为脱
9、管状态。对PO的操作必须在Session的管理下才能同步到数据库,Session由SessionFactory 工厂产生,SessionFactory是数据库编译后的内存镜像,通常一个对应一个SessionFactory对象。SessionFactory对象是由Configuration对象生成,Configuration负责加载Hibernate配置文件。,持久化对象的状态,瞬态:对象由new操作符创建,且尚未Hibernate Session 关联的对象被认为处于瞬态。瞬态对象不会被持久化到数据库中,也不会被赋予持久化标识,如果程序中失去了瞬态对象的引用,瞬态对象将会被垃圾回收机制销毁。使
10、用Hibernate Session 可以将其变为持久化状态。,持久化对象的状态,持久化:持久化实例在数据库中有对应的记录,并且拥有一个持久化标识。持久化的实例是可以刚刚保存的,也可以是刚刚被加载的,无论那一种,持久化对象都必须与指定的hibernate Session关联。hibernate会检测到处于持久化状态对象的改动,在当前操作执行完成时将对象数据写回数据库。开发者不需要手动执行UPDATE。,持久化对象的状态,脱管:某个实例曾属于持久化状态,但随着与之关联的Session被关闭,该对象就变为了脱管态。对脱管对象的引用依然有效,对象可以被继续修改。如果让脱管对象与某个Session关联
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- hibernate 配置
链接地址:https://www.31ppt.com/p-5433137.html