天天看点

外连接抓取属性

外连接抓取能限制执行SQL语句的次数来提高效率,这种外连接抓取通过在单个select语句中使用outer join来一次抓取多个数据表的数据。

外连接抓取允许在单个select语句中,通过<many-to-one.../>、<one-to-many.../>、<many-to-many.../>和<one-to-one.../>等关联获取连接对象的整个对象图。

将hibernate.max_fetch_depth设为0,将在全局范围内禁止外连接抓取,设为1或更高值能启用N-1或1-1的外连接抓取。除此之外,还应该在映射文件中通过fetch="join"来指定这种外连接抓取。

其他常用的配置属性

除了上面介绍的必要配置属性之外,Hibernate常用的配置属性还有如下几个。

Ø  hibernate.show_sql:是否在控制台输出Hibernate生成的SQL语句。只能为true和false两个值。

Ø  hibernate. format_sql:是否将SQL语句转成格式良好的SQL。只接受true和false两个值。

Ø  hibernate.use_sql_comments:是否在Hibernate生成的SQL语句中添加有助于调试的注释。只接受true和false两个值。

Ø  hibernate.jdbc.fetch_size:指定JDBC抓取数量的大小,它可接受一个整数值,其实质是调用Statement.setFetchSize()方法。

Ø  hibernate.jdbc.batch_size:指定Hibernate使用JDBC2的批量更新的大小,它可接受一个整数值,建议取5到30之间的值。

Ø  hibernate.connection.autocommit:设置是否自动提交。通常不建议打开自动提交。 

Ø  hibernate.hbm2ddl.auto:设置当创建SessionFactory时,是否根据映射文件自动建立数据库表。如果使用create-drop值,显示关闭SessionFactory时,将Drop刚建的数据表。该属性可以为update、create和create-drop三个值。

当然,Hibernate配置文件中的配置属性还有很多,因为篇幅关系,此处不再一一列举。如果读者需要关于这些配置属性的详细介绍,请参考Hibernate的官方参考文档。