3 一些可选的配置属性

在 Hibernate 的配置文件 hibernate.cfg.xml 文件中,除了配置必要的数据源的属性和映射文件信息以外,我们还可以为 Hibernate 配置一些可选属性。

 

  1. hibernate.dialect:数据库方言设置,允许 Hibernate 针对特定的关系数据库生成优化的 SQL。因为不 同的数据库之间存在一些差异,比如分页查询的 sql 语句在 Oracle,MS Sqlserver,My SQL 中都不一样,如果使用方言,hibernate 可以根据方言来生成对应的 sql 语句,这样 我们就可以规避掉数据库之间的差异.在发行包的 etc 目录中的 
  2. hibernate.show_sql:输出所有 SQL 语句到控制台.一般我们在程序编码和调试阶段希望看到 hibernate 工 作的时候所执行的 sql 语句,此时将这个属性设置为 true,应用发布之后,将其设置为 false 
  3. hibernate.format_sql:如果 hibernate 工作的时候输出的 sql 语句很长,格式很乱,我们希望看到容易阅读 的 sql 语句,可以将这个属性设置为 true,让 hibernate 在输出 sql 语句的时候进行格式 化,方便阅读. 
  4. hibernate.connection.autocommit:允许被缓存的 JDBC 连接开启自动提交(autocommit) (不建议).hibernat 默认情况下需 要我们手工提交事务,如果设置为 true,则 hibernate 将会自动提交事务。当然这里不建议这么做。
  5. hibernate.hbm2dll.auto:在 SessionFactory 创建时,自动检查数据库结构,或者将数据库 schema 的 DDL 导出到数据库.这个属性的取值有:validate | update | create | create-drop 

    create:会根据映射文件(*.hbm.xml)来生成表,但是每次运行都会删除上一次的表, 重新生成表,哪怕 2 次没有任何改变.

    create-drop : 根映射文件生成表,但是 sessionFactory 一关闭,表就自动删除

    update : 最常用的属性,也根据映射文件生成表,即使表结构改变了,表中的行仍然存 在,不会删除以前的行。

    validate : 只会和数据库中的表进行比较,不会创建新表,但是会插入新值

posted @ 2018-10-25 20:18  疯狂的橙子  阅读(85)  评论(0)    收藏  举报