没有合适的资源?快使用搜索试试~ 我知道了~
Hibernate 课件_配置文件详解
需积分: 3 29 下载量 34 浏览量
2008-04-23
01:34:00
上传
评论
收藏 716KB PDF 举报
温馨提示
试读
80页
我培训用的 Hibernate课件, 个人能力范围内精心整理,图文并茂. 希望能对大家学习 Hibernate 提供帮助. 这是第二篇, 内容如下:Hibernate配置文件;jdbc.fetch_size;jdbc.batch_size; POJO 类和数据库的映射文件*.hbm.xml;主键生成策略generator;映射集合属性;延迟加载策略;映射组件属性;关联关系映射:双向 1-N;继承映射
资源推荐
资源详情
资源评论
Prepared by TongGang
映射文件详解
petrelsky5@tom.com
Prepared by TongGang
目标
• 学习Hibernate的配置文件
(hibernate.cfg.xml)
• 学习Hibernate的映射声明(*.hbm.xml)
Prepared by TongGang
Hibernate配置文件
• Hibernate配置文件主要用于配置数据库连接和
Hibernate 运行时所需的各种属性
• 每个 Hibernate 配置文件对应一个 Configuration
对象。
• Hibernate配置文件可以有两种格式:
– hibernate.properties
– hibernate.cfg.xml
Prepared by TongGang
hibernate.cfg.xml的常用属性
• connection.url:数据库URL
• connection.username:数据库用户名
• connection.password:数据库用户密码
• connection.driver_class:数据库JDBC驱动
• show_sql:是否将运行期生成的SQL输出到日志以供调试。取
值 true | false
• dialect:配置数据库的方言,根据底层的数据库不同产生不
同的sql语句,Hibernate 会针对数据库的特性在访问时进行
优化。
• hbm2ddl.auto:在启动和停止时自动地创建,更新或删除数据
库模式。取值 create | update | create-drop
• mapping resource:映射文件配置,配置文件名必须包含其相
对于根的全路径
• connection.datasource :JNDI数据源的名称
Prepared by TongGang
jdbc.fetch_size 和 jdbc.batch_size
• jdbc.fetch_size:实质是调用 Statement.setFetchSize() 方法设定JDBC
的Statement读取数据的时候每次从数据库中取出的记录条数。例如一次查
询1万条记录,对于Oracle的JDBC驱动来说,是不会 1次性把1万条取出来
的,而只会取出Fetch Size条数,当纪录集遍历完了这些记录以后,再去
数据库取Fetch Size条数据。因此大大节省了无谓的内存消耗。当然Fetch
Size设的越大,读数据库的次数越少,速度越快;Fetch Size越小,读数
据库的次数越多,速度越慢。Oracle数据库的JDBC驱动默认的Fetch
Size=10,是一个保守的设定,根据测试,当Fetch Size=50的时候,性能
会提升1倍之多,当Fetch Size=100,性能还能继续提升20%,Fetch Size
继续增大,性能提升的就不显著了。建议使用Oracle时将Fetch Size设到
50。并不是所有的数据库都支持Fetch Size特性,例如MySQL就不支持。
MySQL就像上面那种最坏的情况,总是一下就把1万条记录完全取出来,内
存消耗会非常非常惊人!这个情况就没有什么好办法了
• hibernate.jdbc.batch_size:设定对数据库进行批量删除,批量更新和批
量插入的时候的批次大小,有点相当于设置Buffer缓冲区大小的意思。
Batch Size越大,批量操作的向数据库发送sql的次数越少,速度就越快。
测试结果是当Batch Size=0的时候,使用Hibernate对Oracle数据库删除1
万条记录需要25秒,Batch Size = 50的时候,删除仅仅需要5秒!可见有
多么大的性能提升!Oracle数据库 Batch Size = 30 的时候比较合适。
• 这两个选项非常重要,将严重影响Hibernate的
CRUD(create,read,update,delete)性能!
剩余79页未读,继续阅读
资源评论
petrelsky5
- 粉丝: 4
- 资源: 19
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功