IBM DB2 9.7 で Hibernate を使用しています。データベースは、Hibernate が生成した選択ステートメント リストが大きすぎる (多数の結合を含む) というエラーを返します。エラー コードは 840 です。これを修正するために何かできることはありますか? 生成された選択リストが非常に長いことは知っていますが、Hibernate を設定してそれをパーツなどに分割することはできますか?
編集:問題が少し大きいように見えるので、これを再開しました。そのため、 https: //hibernate.onjira.com/browse/ANN-140 に JIRA の問題 (現在は拒否されています) があります。
問題は、Hibernate Annotations では、結合戦略で識別子を追加できないことです。ただし、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 ステートメントが壊れています。
これについて何かコメントはありますか?私も直接的な解決策を見つけることができませんでした。