我們使用Hibernate和IBM DB2 9.7。數據庫給出的錯誤是關於Hibernate生成的選擇語句列表過大(包括很多連接)。錯誤代碼是840.可以做些什麼來解決這個問題?我知道生成的選擇列表非常長,但是可以將Hibernate設置爲將其分割成多個部分或其他東西?IBM DB2 9.7錯誤代碼840,選擇語句列表太大
編輯:我重新打開這個,因爲問題似乎有點大。所以在https://hibernate.onjira.com/browse/ANN-140有一個JIRA問題(現在被拒絕)。
所以問題在於,使用Hibernate Annotations時,不可能通過Join策略添加鑑別器。但XML配置確實支持這一點。
帕維爾很好地指出在這樣上面的鏈接討論的問題:一個
"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語句。
對此的評論?我也找不到直接的解決方案。
對此的快速評論。那麼這是否意味着通過不同的策略(1-4)可以減少選擇語句的大小?請注意,我並不是在說會返回太多的行,但實際的select語句太大,列和連接太多。 – user1340582