[Seasar-user:8632] Re: [S2Dao]PropertyNotFoundRuntimeExceptionについて

神啓介 [E-MAIL ADDRESS DELETED]
2007年 6月 25日 (月) 12:00:12 JST


お世話になっております。
神です。

早速のご回答ありがとうございます。
今回やろうとしていたのは、PKのみのテーブルへのデータの
登録処理(insert)で、insertOrUpdate()メソッドを使用する事はなく、
insert()メソッドで事足りる事でした。
現在は、このように処理を変更して対応いたしました。

ただ、ご回答によって、現在こういったS2Dao側のバグがあるというのを
認識できただけでも、今後の開発場面に役立てられるかと思います。
対応方法についても、明確にご教授いただきありがとうございます。

以上、宜しくお願いします。


07/06/24 に kubo <[E-MAIL ADDRESS DELETED]> さんは書きました:
>
> 久保(jflute)です。
>
> > > dbfluteを使用して、デフォルトで用意されている
> > > insertOrUpdate(entity)メソッドを使用したところ
> > > PropertyNotFoundRuntimeExceptionが発生してしまいます。
> > >
> > > org.seasar.dao.impl.UpdateModifiedOnlyCommandクラスの
> > > createNoUpdateLogMessage(final Object bean, final BeanMetaData
> bmd)メソッド
> > > で発生しているのですが、現状として、logレベルがdebugの場合で、
> > > 対象のテーブルの全カラムがPKの場合にのみに発生いたします。
> > >
> > > これについて、何か設定に間違いがあって発生してしまうのでしょうか。
> >
> > S2Dao側で、PKに _ が含まれているがEntityのプロパティ名に _ が含まれていない
> > 場合でlogレベルがdebugの場合に、PropertyNotFoundRuntimeExceptionが発生する
> > ことがわかっています。これはS2Daoのバグです。
> >
> > ただ、logレベルをINFO以上にしたとしても、S2Daoには「PKのみのテーブルはSQL
> > ファイルを書かないと更新できない」という仕様があるので、DBFluteがどういう
> > 仕様になっているかは把握してませんが、この制限にどこかでひっかかる気はしま
> > す。
>
> 神さんがやろうとしているのは、
>
> EntityにSetしたPKがDB上に...
> 存在する:
>    → Update (PKのみテーブルの場合は何の処理もしない)
> しない:
>    → Insert
>
> ということでしょうか?
> それならば特に問題はないと思われます。
> (「logレベルをINFO以上にしたとしても」の場合において)
>
>
> そうではなくて、「PKの列の値自体を更新したい」ということであれば、
> S2Daoの「PKのみのテーブルはSQLファイルを書かないと更新できない」
> という制限はDBFluteでも全く同じです。
> (insertOrUpdate()を利用する状況では考えにくいですが)
>
>
>
> _______________________________________________
> Seasar-user mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/seasar-user
>
-------------- next part --------------
HTMLの添付ファイルを保管しました...
URL: http://ml.seasar.org/archives/seasar-user/attachments/20070625/9f2ceeb1/attachment.html 


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