更多信息,请参阅
- 4.3.7.Final 变更日志:https://hibernate.atlassian.net/issues/?jql=project=10031+AND+fixVersion=17650
- 4.2.16.Final 变更日志:https://hibernate.atlassian.net/issues/?jql=project=10031+AND+fixVersion=17750
大多数更改适用于两个版本。值得注意的是
- HHH-9312修复了由后台线程检测到的超时事务回滚引起的JTA事务跟踪导致的数据库连接泄漏;后台线程在调用Synchronization.afterCompletion(int status)时没有关闭数据库连接;相反,数据库连接直到下一个使用受影响Hibernate会话的应用程序请求才关闭。
- HHH-9387、HHH-9389和HHH-9390修复了在JPA注解使用时生成的集合的表和外键列名中的一些错误。由于这些修复可能会破坏现有应用程序(这些应用程序依赖于错误生成的表和列名),因此默认情况下不会修复它们。添加了一个新的API(NamingStrategyDelegator)(HHH-9388)来启用这些修复,因为NamingStrategy API太不灵活,无法在不引起回退的情况下进行更改,当使用自定义NamingStrategy时。NamingStrategy已被弃用(HHH-7079),以支持这个新API。NamingStrategyDelegator API的文档尚未添加到手册中,且此API尚未在独立模式工具中得到支持。这两者都将在4.3.8和4.2.17中添加。目前,您可以在Jira问题中查看启用修复的详细信息。
- HHH-9305 修复了 HQL 查询中包含隐式连接时生成的 SQL 中存在的各种错误。以下是被此错误影响的 HQL 的示例
// e.department is implicitly joined in the "select" clause, and is explicitly joined in the "from" clause select e.department from Employee e inner join e.department // a.zoo is implicitly joined in the "select", "where", and "order by" clauses select distinct a.zoo from Animal a where a.zoo is not null order by a.zoo.name
对 4.3.7 (仅此版本) 进行了几个修复
- HHH-8839 修复了一个错误,该错误会导致在加载具有具有实体键的 eager map 的实体时渲染 SQL 时抛出 IllegalStateException。
- HHH-8895 修复了一个错误,该错误会导致启用定义在 @MappedSuperclass 层次结构上的过滤器时抛出 SQLGrammarException,因为过滤器条件被应用于层次结构中的所有表,而不是仅应用于定义过滤器的单个表。
- HHH-3868 修复了一个错误,该错误会在合并具有 @Embeddable 属性的实体时抛出 NullPointerException,该属性包含 @org.hibernate.annotations.Parent 映射。
JBoss Nexus: https://repository.jboss.org/nexus/content/groups/public/org/hibernate
Maven Central: http://repo1.maven.org/maven2/org/hibernate/hibernate-core (应在一两天内更新)
SourceForge: https://sourceforge.net/projects/hibernate/files/hibernate4
4.3.7.Final 下载: 4.3.7.Final ZIP, 4.3.7.Final TGZ
4.2.16.Final 下载: 4.2.16.Final ZIP, 4.2.16.Final TGZ