Hibernate对象关系映射

Hibernate对象关系映射

ID:36562117

大小:791.60 KB

页数:67页

时间:2019-05-09

Hibernate对象关系映射_第1页
Hibernate对象关系映射_第2页
Hibernate对象关系映射_第3页
Hibernate对象关系映射_第4页
Hibernate对象关系映射_第5页
资源描述:

《Hibernate对象关系映射》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、对象关系映射simpleit@163.comHibernate配置文件Hibernate配置文件Hibernate配置文件主要用于配置数据库连接和Hibernate运行时所需的各种属性每个Hibernate配置文件对应一个Configuration对象Hibernate配置文件可以有两种格式:hibernate.propertieshibernate.cfg.xmlhibernate.cfg.xml的常用属性JDBC连接属性connection.url:数据库URLconnection.username:数据库用户名

2、connection.password:数据库用户密码connection.driver_class:数据库JDBC驱动dialect:配置数据库的方言,根据底层的数据库不同产生不同的sql语句,Hibernate会针对数据库的特性在访问时进行优化hibernate.cfg.xml的常用属性C3P0数据库连接池属性hibernate.connection.provider_class:该类用来向Hibernate提供JDBC连接hibernate.c3p0.max_size:数据库连接池的最大连接数hibernate

3、.c3p0.min_size:数据库连接池的最小连接数hibernate.c3p0.timeout:数据库连接池中连接对象在多长时间没有使用过后,就应该被销毁hibernate.c3p0.max_statements:缓存Statement对象的数量hibernate.c3p0.idle_test_period:表示连接池检测线程多长时间检测一次池内的所有链接对象是否超时.连接池本身不会把自己从连接池中移除,而是专门有一个线程按照一定的时间间隔来做这件事,这个线程通过比较连接对象最后一次被使用时间和当前时间的时间差来

4、和timeout做对比,进而决定是否销毁这个连接对象。hibernate.c3p0.acquire_increment:当数据库连接池中的连接耗尽时,同一时刻获取多少个数据库连接hibernate.c3p0.validate:是否每次连接都验证连接是否可用hibernate.cfg.xml的常用属性其他show_sql:是否将运行期生成的SQL输出到日志以供调试。取值true

5、falseformat_sql:是否将SQL转化为格式良好的SQL.取值true

6、falseuse_sql_comments:是否在Hiber

7、nate生成的SQL语句中添加有助于调试的注释hbm2ddl.auto:在启动和停止时自动地创建,更新或删除数据库模式。取值create

8、update

9、create-drop

10、validate*hibernate.jdbc.fetch_sizehibernate.jdbc.batch_sizejdbc.fetch_size和jdbc.batch_sizehibernate.jdbc.fetch_size:实质是调用Statement.setFetchSize()方法设定JDBC的Statement读取数据的时候每次从

11、数据库中取出的记录条数。例如一次查询1万条记录,对于Oracle的JDBC驱动来说,是不会1次性把1万条取出来的,而只会取出fetchSize条数,当记录集遍历完了这些记录以后,再去数据库取fetchSize条数据。因此大大节省了无谓的内存消耗。FetchSize设的越大,读数据库的次数越少,速度越快;FetchSize越小,读数据库的次数越多,速度越慢。Oracle数据库的JDBC驱动默认的FetchSize=10,是一个保守的设定,根据测试,当FetchSize=50时,性能会提升1倍之多,当fetchSize=

12、100,性能还能继续提升20%,FetchSize继续增大,性能提升的就不显著了。并不是所有的数据库都支持FetchSize特性,例如MySQL就不支hibernate.jdbc.batch_size:设定对数据库进行批量删除,批量更新和批量插入的时候的批次大小,类似于设置缓冲区大小的意思。batchSize越大,批量操作的向数据库发送sql的次数越少,速度就越快。测试结果是当BatchSize=0的时候,使用Hibernate对Oracle数据库删除1万条记录需要25秒,BatchSize=50的时候,删除仅仅需要

13、5秒!Oracle数据库batchSize=30的时候比较合适。对象关系映射文件实体类和数据库的映射文件*.hbm.xml实体类和关系数据库之间的映射可以用一个XML文档来定义。通过实体类的数据库映射文件,Hibernate可以理解持久化类和数据表之间的对应关系,也可以理解持久化类属性与数据库表列之间的对应关系在运行时Hibernate将根据这

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。