HQL从算术运算中删除括号

时间:2012-07-19 17:31:49

标签: math hql parentheses operations

关注HQL:

"-(a.import + a.bill)"

转换为以下SQL:

"-a.import + a.bill"

而非预期:

"-(a.import + a.bill)"

这使得计算结果的操作与预期的结果不同。

使用org.hibernate.dialect.Oracle10gDialect和org.hibernate.dialect.HSQLDialect

证明了翻译

Hibernate的版本是3.5.1-Final

有人知道为什么会这样吗?这是一个错误吗?

1 个答案:

答案 0 :(得分:1)

这是因为bug HHH-6714而发生的。解决方案是将Hibernate更新到更新版本。如果你必须坚持3.x,那么3.6.9或更新。在4.x中,任何稳定版本都会发布,因为它已在4.0.0.CR6中修复。

我尝试使用3.6.10并保留括号。