−−続き−−
※OptionDataという属性を設けて、エントリーがなかったらOptionTableを生成させないようにしている。

5.実行してみると、ある時点で以下のようなSQLを実行しておかしくなる。
 5-1 MainTable OptionTable OptionTable2を追加。
 5-2 MainTable OptionTable 追加
 5-3 MainTable OptionTable2 追加・・・

<com.webobjects.jdbcadaptor.MicrosoftPlugIn$MicrosoftExpression:
"SELECT PK FROM EO_PK_TABLE WITH (UPDLOCK,ROWLOCK) WHERE NAME = 'dbo.MAIN_TABLE'">
[2003-11-06 13:18:19 JST] <WorkerThread0> fetch canceled
[2003-11-06 13:18:19 JST] <WorkerThread0> 1 row(s) processed
[2003-11-06 13:18:19 JST] <WorkerThread0> updating primary key value for dbo.MAIN_TABLE
[2003-11-06 13:18:19 JST] <WorkerThread0> evaluateExpression: <com.webobjects.jdbcadaptor.MicrosoftPlugIn$MicrosoftExpression:
"UPDATE EO_PK_TABLE SET PK = 3 WHERE NAME = 'dbo.MAIN_TABLE' AND PK = 2">
[2003-11-06 13:18:19 JST] <WorkerThread0> === Commit Internal Transaction
[2003-11-06 13:18:19 JST] <WorkerThread0> === Begin Internal Transaction
[2003-11-06 13:18:19 JST] <WorkerThread0> evaluateExpression: <com.webobjects.jdbcadaptor.MicrosoftPlugIn$MicrosoftExpression:
"INSERT INTO dbo.MAIN_TABLE(ID, OPTION_DATA) VALUES (?, ?)" withBindings: 1:2(id), 2:"Main03"(optionData)>

状況を見ると、MainTableのEO_PKは正しく処理しようとしているのに、実際のPKはリーフのPK(OptionTable2)をMainTableに適用として
失敗しているように見える。

なんか、おかしなことをしているかな?

ちなみに、Windows2000+WO5.2.2+SQLServer2000

※ 長文スマソ