表 3.3. Hibernate配置属性
 
| 属性名 | 用途 | 
| 
 | 一个Hibernate  取值  | 
| 
 | 输出所有SQL语句到控制台. 有一个另外的选择是把 eg.  | 
| 
 | 在log和console中打印出更漂亮的SQL。  取值  | 
| 
 | 在生成的SQL中, 将给定的schema/tablespace附加于非全限定名的表名上.  取值  | 
| 
 | 在生成的SQL中, 将给定的catalog附加于非全限定名的表名上.  取值  | 
| 
 | 
 取值  | 
| 
 | 为单向关联(一对一, 多对一)的外连接抓取(outer join fetch)树设置最大深度. 值为 取值 建议在 | 
| 
 | 为Hibernate关联的批量抓取设置默认数量.  取值 建议的取值为 | 
| 
 | 为由这个 取值  | 
| 
 | 强制Hibernate按照被更新数据的主键,为SQL更新排序。这么做将减少在高并发系统中事务的死锁。  取值  | 
| 
 | 如果开启, Hibernate将收集有助于性能调节的统计数据.  取值  | 
| 
 | 如果开启, 在对象被删除时生成的标识属性将被重设为默认值.  取值  | 
| 
 | 如果开启, Hibernate将在SQL中生成有助于调试的注释信息, 默认值为 取值  | 
 
 
表 3.4. Hibernate JDBC和连接(connection)属性
 
 
| 属性名 | 用途 | 
| 
 | 非零值,指定JDBC抓取数量的大小 (调用 | 
| 
 | 非零值,允许Hibernate使用JDBC2的批量更新.  取值 建议取 | 
| 
 | 如果你想让你的JDBC驱动从 eg.  | 
| 
 | 选择一个自定义的 eg.  | 
| 
 | 允许Hibernate使用JDBC2的可滚动结果集. 只有在使用用户提供的JDBC连接时,这个选项才是必要的, 否则Hibernate会使用连接的元数据.  取值  | 
| 
 | 在JDBC读写 取值  | 
| 
 | 在数据插入数据库之后,允许使用JDBC3  取值  | 
| 
 | 自定义 取值  | 
| 
 | 设置JDBC事务隔离级别. 查看 取值  | 
| 
 | 允许被缓存的JDBC连接开启自动提交(autocommit) (不建议).  取值  | 
| 
 | 指定Hibernate在何时释放JDBC连接. 默认情况下,直到Session被显式关闭或被断开连接时,才会释放JDBC连接. 对于应用程序服务器的JTA数据源, 你应当使用 取值  注意,这些设置仅对通过 | 
| 
 | 将JDBC属性 | 
| 
 | 将属性 | 
 
 
表 3.5. Hibernate缓存属性
 
 
| 属性名 | 用途 | 
| 
 | 自定义的 取值  | 
| 
 | 以频繁的读操作为代价, 优化二级缓存来最小化写操作. 在Hibernate3中,这个设置对的集群缓存非常有用, 对集群缓存的实现而言,默认是开启的.  取值  | 
| 
 | 允许查询缓存, 个别查询仍然需要被设置为可缓存的.  取值  | 
| 
 | 能用来完全禁止使用二级缓存. 对那些在类的映射定义中指定 取值  | 
| 
 | 自定义实现 取值  | 
| 
 | 二级缓存区域名的前缀.  取值  | 
| 
 | 强制Hibernate以更人性化的格式将数据存入二级缓存.  取值  | 
 
 
表 3.6. Hibernate事务属性
 
 
| 属性名 | 用途 | 
| 
 | 一个 取值  | 
| 
 | 一个JNDI名字,被 取值  | 
| 
 | 一个 取值  | 
| 
 | 如果开启, session在事务完成后将被自动清洗(flush)。 现在更好的方法是使用自动session上下文管理。请参见第 2.5 节 “上下文相关的(Contextual)Session”。  取值  | 
| 
 | 如果开启, session在事务完成后将被自动关闭。 现在更好的方法是使用自动session上下文管理。请参见第 2.5 节 “上下文相关的(Contextual)Session”。  取值  | 
 
 
表 3.7. 其他属性
 
 
| 属性名 | 用途 | 
| 
 | 为"当前"  eg.  | 
| 
 | 选择HQL解析器的实现.  取值  | 
| 
 | 将Hibernate查询中的符号映射到SQL查询中的符号 (符号可能是函数名或常量名字).  取值  | 
| 
 | 在 取值  | 
| 
 | 开启CGLIB来替代运行时反射机制(系统级属性). 反射机制有时在除错时比较有用. 注意即使关闭这个优化, Hibernate还是需要CGLIB. 你不能在 取值  | 
 
 
3.4.1. SQL方言
 
 
你应当总是为你的数据库将hibernate.dialect属性设置成正确的 org.hibernate.dialect.Dialect子类. 如果你指定一种方言, Hibernate将为上面列出的一些属性使用合理的默认值, 为你省去了手工指定它们的功夫. 
 
 
表 3.8.  Hibernate SQL方言 (hibernate.dialect) 
 
  
| RDBMS | 方言 | 
| DB2 | 
 | 
| DB2 AS/400 | 
 | 
| DB2 OS390 | 
 | 
| PostgreSQL | 
 | 
| MySQL | 
 | 
| MySQL with InnoDB | 
 | 
| MySQL with MyISAM | 
 | 
| Oracle (any version) | 
 | 
| Oracle 9i/10g | 
 | 
| Sybase | 
 | 
| Sybase Anywhere | 
 | 
| Microsoft SQL Server | 
 | 
| SAP DB | 
 | 
| Informix | 
 | 
| HypersonicSQL | 
 | 
| Ingres | 
 | 
| Progress | 
 | 
| Mckoi SQL | 
 | 
| Interbase | 
 | 
| Pointbase | 
 | 
| FrontBase | 
 | 
| Firebird | 
 | 
 
 
 










