我们将 Hibernate 与 IBM DB2 9.7 一起使用。数据库给出关于 Hibernate 生成的选择语句列表太大(包括很多连接)的错误。错误代码是 840。可以做些什么来解决这个问题吗?我知道生成的选择列表很长,但是可以将 Hibernate 设置为将其拆分为几部分吗?
编辑:我重新打开了这个,因为问题似乎有点大。所以在https://hibernate.onjira.com/browse/ANN-140有一个 JIRA 问题(现在被拒绝) 。
所以问题在于,使用 Hibernate Annotations,不可能使用 Join 策略添加鉴别器。然而,XML 配置确实支持这一点。
Pavel 很好地说明了上述链接讨论中的问题,如下所示:
"It would be nice to see how the problem with the multiple joins is faced when the
underlying DB has restriction on the number of joins one can execute in a single SQL?
For instance MySQL seems to allow only 31 joins. What happens if the class hierarchy
has more than 31 sub-classes?"
以上就是我遇到的问题。我们使用注解,子类很多,创建了大量的连接,破坏了 DB2 语句。
对此有何评论?我也找不到直接的解决方案。