[Seasar-user:4660] Re: ForUpdate のSQLで例外が発生する

吉岡 武志/インフォセンス [E-MAIL ADDRESS DELETED]
2006年 9月 21日 (木) 13:38:08 JST


お世話になります。吉岡です。

> ResultSetやPreparedStatementは、ResultSetFactoryや
> PreparedStatementFactoryでカスタマイズできるので、
> 直接JDBCで実行したときと同じ設定にしていただける
> でしょうか。

カスタマイズを行おうと思い、ソースを追いかけましたところ
PagerStatementFactoryクラスのcreatePreparedStatementメソッド内で
Preparedstatementを生成する際にオプション
で、「ResultSet.TYPE_SCROLL_INSENSITIVE」
と「ResultSet.CONCUR_READ_ONLY」が設定されていました。
上記の設定を外して、Preparedstatementを生成しましたら正常にSQLが
実行されました。

「Pagerも使いたい」・「For Updateも使いたい」場合には、dicon等の設定で
何か回避する方法等はありますでしょうか?

もし、回避する方法が無い場合は、SQL内に「For Update」がある場合は
「ResultSet.TYPE_SCROLL_INSENSITIVE」と「ResultSet.CONCUR_READ_ONLY」の
オプションを指定せずにPreparedStatementを生成するような変更は可能でしょう
か?
(もしくは、diconの設定で、daoクラスのメソッドの接頭辞が「XXX」の場合は、
For Updateのためオプションを付けずにPreparedStatementを生成する等)

お手数ですが、ご検討のほどよろしくお願いします。

                                     - 以上 -





Seasar-user メーリングリストの案内