[seasar-dotnet:1365] DBFlute とトリガーの相性について
Nakai
[E-MAIL ADDRESS DELETED]
2009年 6月 5日 (金) 14:18:56 JST
お世話になっております。中井と申します。
トリガーが存在するテーブルにBhvのUpdate、Deleteを実行すると
Exceptionが発生してしまいました。
<環境>
Dbflute.Net 0.8.8.9
SQLServer2005
<トリガーの内容>
テーブルの更新履歴を保存する為、
「T_A」テーブルに対してInsert、Update、Deleteされたレコードを
「T_A_HISTORY」テーブルにInsertします。
「T_A_HISTORY」テーブルのカラムは「T_A」テーブルのカラム+「履歴タイプ(I,U,D)」+「挿入時刻」です。
<Exceptionの内容>
・Update時
EntityDuplicatedException
{"The entity was Too Many! it has been duplicated. It should be the only one! But the updatedCount=2: entity={省略}"}
・Delete時
EntityAlreadyUpdatedException
[EDAO0005]
更新の時、メッセージに「updatedCount=2」とあるのは、HISTORYテーブルにトリガーが挿入したレコードもカウントしているのでしょうか?
今のところ回避方法として、
・トリガーを削除
・ExBhvにInsertWithHistory、UpdateWithHistory、DeleteWithHistoryメソッドを
作成し、この中で「T_A_HISTORY」への登録を自前で行う
を考えているのですが、他によい方法があれば御教授頂けないでしょうか。
よろしくお願い致します。
seasar-dotnet メーリングリストの案内