[Seasar-user:2389] Re: S2Dao: 主キーの無いテーブルで自動生成 SELECT を使えない
上原 慶三
keizou
2005年 7月 20日 (水) 02:46:33 JST
上原です。
suga wrote:
> suga です。
>
> SeasarWiki の Q&A に質問として上がっていたことです。
>
> 主キーの無いテーブルで SQL を自動生成した場合に
> PrimaryKeyNotFoundRuntimeException が発生します。
> これ自体は S2Dao 1.0.14 で例外が発生しないように
> なりました。
> http://seasar.satin.jp/wiki/index.php?SeasarWhatsNew%2F2004-12-14
>
> が、現時点では例外が発生する状態に戻っています。
> 主キーの無いテーブルでの自動 SELECT 文が有効になるよう
> 対応をお願いします。
>
>
> 1.0.14 では BeanMetaDataImpl にあったメソッド
>
> protected void setupAutoUpdateSql() {
> if (getPrimaryKeySize() == 0) {
> return;
> }
> :
>
> protected void setupAutoDeleteSql() {
> if (getPrimaryKeySize() == 0) {
> return;
> }
> :
>
> の部分が、内部構造変化のうちに抜け落ちたものだと
> 思います。現状では AbstractAutoStaticCommand の
>
> protected void setupUpdateSql() {
> checkPrimaryKey();
>
> protected void setupDeleteSql() {
> checkPrimaryKey();
>
> に当たるのでしょうか。
>
> 1.0.14 では
> ・主キーが無ければ更新, 削除 SQL の自動生成をしない
> ・自動生成の更新, 削除 SQL を実行しようとすると例外
> となっているようです。
>
すがさん、対応ありがとうございます。返事が遅くなってすいません。
こちらで試してみたかぎり、SELECTは主キーがなくてもSQLを自動生成でき
ているのですが。もしよければ詳しい再現条件を教えてください。
--
---
上原 慶三<[E-MAIL ADDRESS DELETED]>
Seasar-user メーリングリストの案内