表 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 |
|