3 一些可选的配置属性
在 Hibernate 的配置文件 hibernate.cfg.xml 文件中,除了配置必要的数据源的属性和映射文件信息以外,我们还可以为 Hibernate 配置一些可选属性。
- hibernate.dialect:数据库方言设置,允许 Hibernate 针对特定的关系数据库生成优化的 SQL。因为不 同的数据库之间存在一些差异,比如分页查询的 sql 语句在 Oracle,MS Sqlserver,My SQL 中都不一样,如果使用方言,hibernate 可以根据方言来生成对应的 sql 语句,这样 我们就可以规避掉数据库之间的差异.在发行包的 etc 目录中的
- hibernate.show_sql:输出所有 SQL 语句到控制台.一般我们在程序编码和调试阶段希望看到 hibernate 工 作的时候所执行的 sql 语句,此时将这个属性设置为 true,应用发布之后,将其设置为 false
- hibernate.format_sql:如果 hibernate 工作的时候输出的 sql 语句很长,格式很乱,我们希望看到容易阅读 的 sql 语句,可以将这个属性设置为 true,让 hibernate 在输出 sql 语句的时候进行格式 化,方便阅读.
- hibernate.connection.autocommit:允许被缓存的 JDBC 连接开启自动提交(autocommit) (不建议).hibernat 默认情况下需 要我们手工提交事务,如果设置为 true,则 hibernate 将会自动提交事务。当然这里不建议这么做。
- hibernate.hbm2dll.auto:在 SessionFactory 创建时,自动检查数据库结构,或者将数据库 schema 的 DDL 导出到数据库.这个属性的取值有:validate | update | create | create-drop
create:会根据映射文件(*.hbm.xml)来生成表,但是每次运行都会删除上一次的表, 重新生成表,哪怕 2 次没有任何改变.
create-drop : 根映射文件生成表,但是 sessionFactory 一关闭,表就自动删除
update : 最常用的属性,也根据映射文件生成表,即使表结构改变了,表中的行仍然存 在,不会删除以前的行。
validate : 只会和数据库中的表进行比较,不会创建新表,但是会插入新值
To be someone special

浙公网安备 33010602011771号