原本打算发布5.5.1.Final
版本,但我犯了一个错误 - 因此这个版本号将被跳过。
很高兴地宣布,Hibernate ORM 5.5.2.Final
版本的发布取得了成功!它已经可以从您最喜欢的Maven Central镜像中下载。
在StackOverflow上似乎有流行的答案建议在Hibernate ORM启动期间禁用数据库元数据的加载,以便更快地启动。
在这些论坛中,有人建议使用一个内部标志,该标志原本仅用于工具,我们不建议您将其用于常规应用程序,因为我们从数据库中获取的一些元数据可能会对内部策略和解决方案产生重大影响,因此可以使您喜欢的ORM更智能、更高效,有时甚至可以解决特定DB版本的bug。在某些情况下,禁用此元数据也可能导致难以诊断的bug。
但一些用户报告了非常慢的启动时间,主要与非常大的数据库相关,并且为了解决这个问题,他们真的希望跳过这个阶段。这并不是我们所预期的,因此我们进行了更多的调查。我们可以删除一些当前不必要的操作,并根据实际需要自动跳过一些其他操作。
最终结果是,现在它将启动得更快,如果您有这样的问题,则启动速度会更快,而无需设置任何标志或牺牲重要的安全功能。
新增了一项调整知识:如果自动优化仍然无法达到完全禁用元数据加载时的快速启动效果,这很可能是由于我们需要运行的序列优化器的验证引起的;这些操作由配置属性hibernate.id.sequence.increment_size_mismatch_strategy
控制,现在可以通过将此属性设置为NONE
来禁用——如果您真的想这么做。
请注意,如果您没有使用任何此类序列优化器(或者实际上根本不使用序列),我们将自动跳过此验证。
如果您运行模式验证,可以安全地将此设置为NONE
,因为模式验证执行了类似的检查。如果您没有运行模式验证,请确保您知道自己在做什么:我建议在开发过程中这应该是可以的,但在您的预发布和生产环境中不要保持此选项开启。
修复
一些其他缺陷也已得到修复,完整列表请参阅发行说明。
获取5.5.2.Final版本
所有详细信息均可在hibernate.org的专用页面上找到。