欢迎来到Hibernate社区通讯,在这里我们分享博客文章、论坛和StackOverflow问题,这些问题对我们用户特别相关。
访谈
不要错过我们对Hibernate开发者Arnold Gálovics和Jakub Kubryński的访谈:Arnold Gálovics 和 Jakub Kubryński。
如果你想分享你的Hibernate故事,请告诉我们,我们可以与我们的庞大开发者社区分享。
视频
我发布了一个关于如何使用JDBC和Hibernate记录SQL语句的培训视频:最佳实践。
如果你喜欢它,那么不要忘记订阅我的YouTube频道。我会每周发布一个新的视频,所以请保持关注,期待更多。
文章
本通讯的精选文章是Randall Hyde于2009年发表的文章《关于过度优化的谬误》:Fallacy of Premature Optimization。在开发企业应用程序时,性能往往不是从一开始就被考虑的,忽视性能可能会在生产部署时产生严重影响。
阅读数据库执行计划不是一件简单的事情。这篇文章采用不同的方法,并尝试使用Java和C++代码示例解释执行计划所采用的算法。
当您计划修改实体时,获取实体是合适的,但在只读事务中,DTO投影更为方便。查看这篇文章关于如何使用JPA和Hibernate将DTO投影映射到查询的最佳实践。
如果您正在使用Spring Data JPA并且想使用Liquibase这样的自动模式迁移工具,那么您绝对应该阅读这篇分步教程。
每当您发现自己需要将两个表自连接以将聚合函数与原始表行相关联时,您最好使用窗口函数。这篇文章提供了两种解决给定SQL问题的方法:一种是使用窗口函数,另一种是不使用它们。不仅窗口函数查询更易于表达,而且效率也更高。
如果您想了解save、persist、merge和saveOrUpdate之间的区别,这篇文章提供了关于这个主题的非常好的介绍。在此期间,还有关于批量处理时与merge相关的性能影响。幸运的是,Hibernate特定的更新方法可以帮助您解决这个问题。
Hibernate极其灵活。例如,您甚至可以使用复合标识符,其中一个列使用@GeneratedValue指令。这可能是JPA @IdClass构造真正有意义的少数用例之一。