[Seasar-user:2644] BeanDescのフィールド情報の取得に関して

加藤太朗 kato
2005年 10月 2日 (日) 20:58:17 JST


お世話になります。加藤です。

あるエンティティを継承していて気づいたのですが、
対象としているエンティティで定義されている
フィールドが、継承元のエンティティでも
定義されていると、有効なのは継承元となってしまうようです。

例えば、以下のエンティティ定義があった場合に…

class GoodsOrder extends ViewGoodsOrder {
    public static final String TABLE = "GOODS_ORDER"
}

class ViewGoodsOrder {
    public static final String TABLE = "VIEW_GOODS_ORDER"
}


GoodsOrderのTABLEフィールドが、"GOODS_ORDER"では
なく、"VIEW_GOODS_ORDER" になってしまいます。

BeanDescImplのsetupFieldの
リフレクションでフィールド情報配列は、継承元は末尾近くに配置
されているようですので、末尾からループしてMapに積むか、
containsチェックして先勝ちでputするかといった対策が考えられます。
対応を検討いただければと思います。

以上


--------------------------------------------------------->>
Gluegent,Inc. T.Kato
http://package.gluegent.com/~kato/signature.xml
---->> generate products and services with high added value





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