欢迎来到Hibernate社区通讯,在这里我们分享博客文章、论坛和StackOverflow问题,这些内容对我们的用户特别相关。
文章
本期精选是Heap Engineering博客的这篇文章 如何通过批量更新降低数据库索引开销,展示了使用批量更新的好处。
正如之前所述 使用RAM磁盘或tmpfs可以显著加快集成测试的速度,Mark Rotteveel尝试了这种方法,看起来对Firebird也适用 it works for Firebird as well。
Hibernate 5.2.10带来了针对RESOURCE_LOCAL事务的非常实用的连接管理优化。如果你不使用JTA并且你在连接池级别禁用了自动提交,那么设置 hibernate.connection.provider_disables_autocommit
配置属性也是值得的。
在使用Oracle时,访问数据库记录最快的方法是使用ROWID
伪列。如果使用ROWID
对你的应用程序是合适的,那么你可以 使用@RowId
注解你的实体,Hibernate将使用ROWID
伪列来更新UPDATE语句。
管理数据库模式最好的方法是使用增量更新脚本,以及像Flyway这样的工具。即使在这种情况下,你仍然可以从hbm2ddl工具中受益,以验证实体映射。查看如何处理模式不匹配异常,特别是对于非平凡映射。
您可以使用Hibernate 统计来记录查询执行时间。然而,在现实生活中,许多企业应用程序最好使用JDBC DataSource
或Driver
代理,这不仅允许您记录JDBC语句及其参数,还可以在测试期间自动检测N+1查询问题。
演示文稿
Jakub Kubryński有一个关于JPA常见陷阱及其有效处理方法的优秀演示文稿。