[Seasar-user:21231] Doma で Mssql2008Dialect
近澤 英
[E-MAIL ADDRESS DELETED]
2011年 12月 23日 (金) 14:56:10 JST
お世話になります。
近澤と申します。
Doma 1.20.0 を利用させて頂いております。
SQLServer2008 の Mssql2008Dialect 利用時に、
うまく動作しないので質問させてください。
select するとき、SelectOptions.get().forUpdate() を指定すると、
次に同じSQLを発行した際に with句 が2つ指定されてしまいます。
SQLは非常に単純な、下記のような内容です。
select a
from b
where c = /* cond */null
ログを吐くと、2回目以降の呼び出しは
select a
from b
with (updlock, rowlock) with (updlock, rowlock) where c = '1'
となってしまっています。
すこしデバッグしたところ、sqlNode のキャッシュに with句付でキャッシュ
されているようですが、これが関係あるかはわかりません。。
ただ、2回目以降は、forUpdate 無しで呼び出しても
with句が付いているようです。
比較の為、PostgreSQL の Dialect で試したところ
こういった現象は発生しませんでした。
Mssql2008Dialect では何か特別な指定が必要であれば
ご教示頂きたいです。
お手数おかけして申し訳ございませんが、
宜しくお願い致します。
--
近澤
Seasar-user メーリングリストの案内