再讲hibernate.cfg.xml文件

来源:互联网 发布:南京未来软件 编辑:程序博客网 时间:2024/05/17 08:31

  前边我们讲过了Session中一系列主流的方法及其功能,save/persist/get/load/update/saveOrUpdate/delete/evict等待其他的方法。这些方法可以将Java对象从一种状态转换到另一种状态,同时改变的还有session中的对象和数据库中的记录。所谓一动三变。但是需要注意的是:同一个Session中不可以有两个相同的OID。

  下边我们再来讲一讲Hibernate的配置文件:hibernate.cfg.xml。

  1.一个cfg.xml可以用一个Configuration对象来代表和引用

  2.Hibernate的配置文件的方式有:hibernate.properties和hibernate.cfg.xml(推荐)

  3.内部可以配置连接数据库信息的属性、Hibernate本身的其他的一些属性、c3p0的一些属性、将hbm.xml的各个文件加载进来。注意:须严格遵守器内部属性的名称。

  ① 数据库连接的属性

  connection.username:数据库用户名

  connection.password:数据库密码

  connection.driver-class:数据库启动

  connection.url:数据库的url

  ② Hibernate的其他的附属属性

  show_sql:发送sql时是否在控制台显示sql

  format_sql:在控制台显示sql时是否进行格式化

  hbm2ddl.auto:生成数据表的策略

  connection.isolation:数据库中的隔离级别,mysql中2代表读已提交。

  ③ 设置c3p0的一些属性

  hibernate.c3p0.max_size  :数据库连接池中允许存在的最大的连接数

  hibernate.c3p0.min_size:数据库连接池中允许存在的最小的连接数

  hibernate.c3p0.acquire_increment:数据库连接池每次向数据库申请的连接数

  hibernate.c3p0.idle_test_period:多久检测一次线程池内的连接是否超时,若超时就将其删除

  hibernate.c3p0.timeout:连接多久不使用就会被销毁

  hibernate.c3p0.max_statements:数据库连接池中允许存在的最大的statement的数量

  hiberante.jdbc.fetch_size:每次从数据库中拿取的记录的个数,经过测试,100为最合适的值对mysql不起作用,只对oracle起作用

  hibernate.jdbc.batch_size:每次批量操作数据库的记录的数目,经过测试,最合适的值为30对mysql不起作用,只对oracle起作用

  ④ 加载各个hbm.xml对象关系映射文件