[Seasar-user:13378] DBFlute 0.6.7 リリース

kubo [E-MAIL ADDRESS DELETED]
2008年 3月 21日 (金) 13:11:39 JST


久保(jflute)です。

DBFlute-0.6.7 をリリースしました。
http://dbflute.sandbox.seasar.org/ja/index.html

{NEW}
(DBFLUTE-222) {Java/C#}: AdditionalForeignKeyの設定で大文字小文字の区別をしないようにする

{BUG}
(DBFLUTE-223) {Java}: ConditionBeanで同じ親からさらに枝分かれの親を2つ取得した場合に不具合

DBFlute-0.6.6から0.6.7への移行時の注意
http://dbflute.sandbox.seasar.org/ja/migration/migrate-066to067.html


[Seasar-user:13313] 【DBFlute】ConditionBean による複数の親の親(おじいちゃん)の取得
に関するバグが修正されています。(DBFLUTE-223)

AAAとBBBとCCCとDDDというテーブルがあった場合に、

AAACB cb = new AaaCB();
cb.setupSelect_BBB().withCCC();
cb.setupSelect_BBB().withDDD();

というように「同じ親に対して枝分かれで親の親(おじいちゃん)」
を取得しようとして、
かつ、
「DDDにさらに親リレーションが定義されている」場合に
DDDが取得できないという現象がDBFlute-0.6.0より発生しておりました。
(DDDにこれ以上親が存在しない場合には発生しない)

現象が限定的ではありますが、いざ発生したときに現象が掴みにくいもの
でありますので、もし可能であれば0.6.7への移行をお奨め致します。

もし「時期的にバージョンアップがもう無理」という場合は、
S2DaoMetaDataExtension.RelationRowCreatorExtensionに
以下のオーバーライドを追加することで修正可能です。
(mydbflute/dbflute-0.6.x/templates/om/java配下のテンプレートを修正します)

       @Override
       protected RelationRowCreationResource createResourceForRow(ResultSet rs,
               RelationPropertyType rpt, Set columnNames, Map relKeyValues,
               Map relationPropertyCache) throws SQLException {
           final RelationRowCreationResource res = new
RelationRowCreationResourceExtension();
           res.setResultSet(rs);
           res.setRelationPropertyType(rpt);
           res.setColumnNames(columnNames);
           res.setRelKeyValues(relKeyValues);
           res.setRelationPropertyCache(relationPropertyCache);
           res.setBaseSuffix("");// as Default
           res.setRelationNoSuffix(buildRelationNoSuffix(rpt));
           res.setLimitRelationNestLevel(getLimitRelationNestLevel());
           res.setCurrentRelationNestLevel(1);// as Default
           res.setCreateDeadLink(isCreateDeadLink());
           return res;
        }


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