[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 メーリングリストの案内