📄 session-configuration.html
字号:
强制Hibernate按照被更新数据的主键,为SQL更新排序。这么做将减少在高并发系统中事务的死锁。 <p> <span class="strong">取值</span> <tt class="literal">true</tt> | <tt class="literal">false</tt> </p></td></tr><tr><td><tt class="literal">hibernate.generate_statistics</tt></td><td> 如果开启, Hibernate将收集有助于性能调节的统计数据. <p> <span class="strong">取值</span> <tt class="literal">true</tt> | <tt class="literal">false</tt> </p></td></tr><tr><td><tt class="literal">hibernate.use_identifer_rollback</tt></td><td> 如果开启, 在对象被删除时生成的标识属性将被重设为默认值. <p> <span class="strong">取值</span> <tt class="literal">true</tt> | <tt class="literal">false</tt> </p></td></tr><tr><td><tt class="literal">hibernate.use_sql_comments</tt></td><td> 如果开启, Hibernate将在SQL中生成有助于调试的注释信息, 默认值为<tt class="literal">false</tt>. <p> <span class="strong">取值</span> <tt class="literal">true</tt> | <tt class="literal">false</tt> </p></td></tr></tbody></table></div><div class="table"><a name="configuration-jdbc-properties"></a><p class="title"><b>表 3.4. Hibernate JDBC和连接(connection)属性 </b></p><table summary="
 Hibernate JDBC和连接(connection)属性
 " border="1"><colgroup><col><col></colgroup><thead><tr><th> 属性名 </th><th> 用途 </th></tr></thead><tbody><tr><td><tt class="literal">hibernate.jdbc.fetch_size</tt></td><td> 非零值,指定JDBC抓取数量的大小 (调用<tt class="literal">Statement.setFetchSize()</tt>). </td></tr><tr><td><tt class="literal">hibernate.jdbc.batch_size</tt></td><td> 非零值,允许Hibernate使用JDBC2的批量更新. <p> <span class="strong">取值</span> 建议取<tt class="literal">5</tt>到<tt class="literal">30</tt>之间的值 </p></td></tr><tr><td><tt class="literal">hibernate.jdbc.batch_versioned_data</tt></td><td> 如果你想让你的JDBC驱动从<tt class="literal">executeBatch()</tt>返回正确的行计数 , 那么将此属性设为<tt class="literal">true</tt>(开启这个选项通常是安全的). 同时,Hibernate将为自动版本化的数据使用批量DML. 默认值为<tt class="literal">false</tt>. <p> <span class="strong">eg.</span> <tt class="literal">true</tt> | <tt class="literal">false</tt> </p></td></tr><tr><td><tt class="literal">hibernate.jdbc.factory_class</tt></td><td> 选择一个自定义的<tt class="literal">Batcher</tt>. 多数应用程序不需要这个配置属性. <p> <span class="strong">eg.</span> <tt class="literal">classname.of.Batcher</tt> </p></td></tr><tr><td><tt class="literal">hibernate.jdbc.use_scrollable_resultset</tt></td><td> 允许Hibernate使用JDBC2的可滚动结果集. 只有在使用用户提供的JDBC连接时,这个选项才是必要的, 否则Hibernate会使用连接的元数据. <p> <span class="strong">取值</span> <tt class="literal">true</tt> | <tt class="literal">false</tt> </p></td></tr><tr><td><tt class="literal">hibernate.jdbc.use_streams_for_binary</tt></td><td> 在JDBC读写<tt class="literal">binary (二进制)</tt>或<tt class="literal">serializable (可序列化)</tt> 的类型时使用流(stream)(系统级属性). <p> <span class="strong">取值</span> <tt class="literal">true</tt> | <tt class="literal">false</tt> </p></td></tr><tr><td><tt class="literal">hibernate.jdbc.use_get_generated_keys</tt></td><td> 在数据插入数据库之后,允许使用JDBC3 <tt class="literal">PreparedStatement.getGeneratedKeys()</tt> 来获取数据库生成的key(键)。需要JDBC3+驱动和JRE1.4+, 如果你的数据库驱动在使用Hibernate的标 识生成器时遇到问题,请将此值设为false. 默认情况下将使用连接的元数据来判定驱动的能力. <p> <span class="strong">取值</span> <tt class="literal">true|false</tt> </p></td></tr><tr><td><tt class="literal">hibernate.connection.provider_class</tt></td><td> 自定义<tt class="literal">ConnectionProvider</tt>的类名, 此类用来向Hibernate提供JDBC连接. <p> <span class="strong">取值</span> <tt class="literal">classname.of.ConnectionProvider</tt> </p></td></tr><tr><td><tt class="literal">hibernate.connection.isolation</tt></td><td> 设置JDBC事务隔离级别. 查看<tt class="literal">java.sql.Connection</tt>来了解各个值的具体意义, 但请注意多数数据库都不支持所有的隔离级别. <p> <span class="strong">取值</span> <tt class="literal">1, 2, 4, 8</tt> </p></td></tr><tr><td><tt class="literal">hibernate.connection.autocommit</tt></td><td> 允许被缓存的JDBC连接开启自动提交(autocommit) (不建议). <p> <span class="strong">取值</span> <tt class="literal">true</tt> | <tt class="literal">false</tt> </p></td></tr><tr><td><tt class="literal">hibernate.connection.release_mode</tt></td><td> 指定Hibernate在何时释放JDBC连接. 默认情况下,直到Session被显式关闭或被断开连接时,才会释放JDBC连接. 对于应用程序服务器的JTA数据源, 你应当使用<tt class="literal">after_statement</tt>, 这样在每次JDBC调用后,都会主动的释放连接. 对于非JTA的连接, 使用<tt class="literal">after_transaction</tt>在每个事务结束时释放连接是合理的. <tt class="literal">auto</tt>将为JTA和CMT事务策略选择<tt class="literal">after_statement</tt>, 为JDBC事务策略选择<tt class="literal">after_transaction</tt>. <p> <span class="strong">取值</span> <tt class="literal">on_close</tt> | <tt class="literal">after_transaction</tt> | <tt class="literal">after_statement</tt> | <tt class="literal">auto</tt> </p></td></tr><tr><td><tt class="literal">hibernate.connection.<span class="emphasis"><em><propertyName></em></span></tt></td><td> 将JDBC属性<tt class="literal">propertyName</tt>传递到<tt class="literal">DriverManager.getConnection()</tt>中去. </td></tr><tr><td><tt class="literal">hibernate.jndi.<span class="emphasis"><em><propertyName></em></span></tt></td><td> 将属性<tt class="literal">propertyName</tt>传递到JNDI <tt class="literal">InitialContextFactory</tt>中去. </td></tr></tbody></table></div><div class="table"><a name="configuration-cache-properties"></a><p class="title"><b>表 3.5. Hibernate缓存属性 </b></p><table summary="
 Hibernate缓存属性
 " border="1"><colgroup><col><col></colgroup><thead><tr><th> 属性名 </th><th> 用途 </th></tr></thead><tbody><tr><td><tt class="literal">hibernate.cache.provider_class</tt></td><td>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -