[Seasar-user:17035] [S2dao] プライマリしかないテーブルのselectAll()

あきら [E-MAIL ADDRESS DELETED]
2009年 3月 5日 (木) 20:39:23 JST


あきらです

S2Daoにておかしな動きを発見しました

CREATE TABLE Aaa(ID IDENTITY NOT NULL PRIMARY KEY);

上記のようなテーブルをS2Daoで利用した場合、プライマリーキー
のみの場合には使えないのは問題ないのですが、エラー文が途中から
selectAll()がupdate()を実行しているようでした。
Daoのupdate()をコメントアウトすると正常にselectAll()が呼べました

環境:s2-dao-1.0.49.jar + H2(H2以外でおきたのを再現)

Aaa[] aaa = aaaDao.selectAll();

にてのログ

DEBUG org.seasar.framework.aop.interceptors.TraceInterceptor - BEGIN
testh2.dao.AaaDao#selectAll()
DEBUG org.seasar.extension.dbcp.impl.ConnectionPoolImpl - 物理的なコネクションを取得しました
DEBUG org.seasar.extension.dbcp.impl.ConnectionPoolImpl -
論理的なコネクションを取得しました。tx=[FormatId=4360, GlobalId=1236251819956/4,
BranchId=]
DEBUG org.seasar.extension.dbcp.impl.ConnectionWrapperImpl -
論理的なコネクションを閉じました。tx=[FormatId=4360, GlobalId=1236251819956/4,
BranchId=]
DEBUG org.seasar.extension.dbcp.impl.ConnectionPoolImpl -
論理的なコネクションを取得しました。tx=[FormatId=4360, GlobalId=1236251819956/4,
BranchId=]
DEBUG org.seasar.extension.dbcp.impl.ConnectionWrapperImpl -
論理的なコネクションを閉じました。tx=[FormatId=4360, GlobalId=1236251819956/4,
BranchId=]
DEBUG org.seasar.framework.aop.interceptors.TraceInterceptor - END
testh2.dao.AaaDao#selectAll()
Throwable:org.seasar.dao.MethodSetupFailureRuntimeException:
[EDAO0019]testh2.dao.AaaDaoのupdateメソッドの初期化時に例外が発生しました。理由はorg.seasar.framework.exception.SRuntimeException:
[EDAO0020]Primary KeyのみのテーブルをSQL文の自動生成で更新することはできません
DEBUG org.seasar.extension.jta.TransactionImpl -
トランザクションをロールバックしました。tx=[FormatId=4360, GlobalId=1236251819956/4,
BranchId=]
DEBUG org.seasar.framework.aop.interceptors.TraceInterceptor - END
testh2.web.AaaPage#prerender()
Throwable:org.seasar.dao.MethodSetupFailureRuntimeException:
[EDAO0019]testh2.dao.AaaDaoのupdateメソッドの初期化時に例外が発生しました。理由はorg.seasar.framework.exception.SRuntimeException:
[EDAO0020]Primary KeyのみのテーブルをSQL文の自動生成で更新することはできません
DEBUG org.seasar.teeda.extension.util.TeedaExtensionErrorPageManagerImpl
- [EDAO0019]testh2.dao.AaaDaoのupdateメソッドの初期化時に例外が発生しました。理由はorg.seasar.framework.exception.SRuntimeException:
[EDAO0020]Primary KeyのみのテーブルをSQL文の自動生成で更新することはできません
org.seasar.dao.MethodSetupFailureRuntimeException:
[EDAO0019]testh2.dao.AaaDaoのupdateメソッドの初期化時に例外が発生しました。理由はorg.seasar.framework.exception.SRuntimeException:
[EDAO0020]Primary KeyのみのテーブルをSQL文の自動生成で更新することはできません

以上、簡単ですが報告までに!

あきら


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