[Seasar-user:11994] Re: 【S2Dao】エラー時のExceptionの種類について

Jundo Ishikawa [E-MAIL ADDRESS DELETED]
2007年 12月 7日 (金) 23:45:33 JST


JUNDUです。

 "No results were"というメッセージで検索したところ、PostgreSQLにこういう
メッセージの例外があるようですが、お使いのDBMSはPostgreSQLでしょうか?

 見つけた掲示板のやりとりだと更新系SQLをexecuteQueryで実行したためという
のがありました。S2Daoでいうと、メソッド名がupdateなどの更新系のメソッドを
表す名前で始まっていないと、内部的にexecuteQueryが使われてしまいます。

 メソッドAAAは、updateで始まる名称になっているか確認してみるのは、どうで
しょうか。まったくの推測に頼った検索なので、そもそもはずれている可能性が
高いですが。。。


07/12/07 に 的場 大輔<[E-MAIL ADDRESS DELETED]> さんは書きました:
> お世話になります。的場と申します。
>
> SQL実行時に発生するExceptionについてお教えいただきたく、
> 質問させていただきます。
>
> Exception等のキーワードで過去の情報を探したつもりですが、
> 見落としがございましたらご容赦ください。
>
>
> s2-framework-2.4.13
> s2dao-1.0.43
>
> で動作させております。
>
>
> トランザクション内で、2つのテーブルを更新していたのですが、
> どちらもcatchされるExceptionがSQLRutimeExceptionのため、
> 判別できない状態です。
>
> 処理の内容は、以下のようなものです。
>
> メソッド AAA
> ----------------------------------------
> 1.AテーブルのUpdate
> ただし、WHERE句の条件に合致するレコードが無い場合があります。
> (実行結果は0行になることがあるということです。)
> 2.BテーブルへのInsert
> ただし、主キーが重複し例外が発生することがあります。
> ----------------------------------------
>
> 上記2処理をメソッドAAAで行い、メソッドAAAにトランザクションが設定してあります。
>
> このとき、どちらの処理でエラーが発生してもSQLRutimeExceptionが発生するため、
> 簡単にエラーを判別できないのですが、見分ける方法はあるのでしょうか?
> (デバッグ時にException内をウォッチすると、
> 奥のほうのdetailMessageにNo results were・・・のメッセージがあるのはわかったのですが)
>
> 過去の情報から、排他制御で更新対象がない場合は
> NotSingleRowUpdateRuntimeExceptionが発生することはわかったのですが、
> この場合は違うようで、情報を探していました。
>
> お手数お掛けし申し訳ございませんが、
> ご教授宜しくお願いします。
>
>
> _______________________________________________
> Seasar-user mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/seasar-user
>


-- 
 Jundo Ishikawa <[E-MAIL ADDRESS DELETED]>
         ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄


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