WebSphere v6 および DB2 で Hibernate 3 を使用しています。Hibernate によって発行された間違った SQL 準備済みステートメントで奇妙な問題が発生し、構文の問題が発生しています。
Hibernate によって発行された適切なクエリ:
SELECT * FROM rocc.Transaction t WHERE t.status_cd = 0 および t.application_cd = ? order by coalesce(t.priority,0) 最初の 25 行のみを取得
Hibernate によって誤って発行された同じクエリが時々発生します。
SELECT * FROM rocc.Transaction t WHERE t.status_cd = ? AND t.application_cd = ? ORDER BY COALESCE (t.priority, ? )最初 にFETCH ? 行のみ
値(ゼロ)を疑問符に置き換え、キーワードのフォントを大文字に変更しています(関係ありませんが、ここで言及しています)。また、fetch 句の数字 25 が疑問符付きで変更されました。
Hibernate によって時々発行される間違った準備済みステートメントの原因は何ですか?
Hibernate は WSJdbcPreparedStament.executeQuery メソッドを呼び出しています。