This is a cache of http://dbflute.seasar.org/ja/oldmigration/migrate-070to071.html. It is a snapshot of the page at 2024-11-01T01:00:51.497+0000.
DBFlute : Migration : Basic

バージョン移行{0.7.0 to 0.7.1}

環境

特にありません。

実装

ConditionBeanのUnion

ConditionBeanのUnionでコールバックを利用するようにしました。

ex) Java


MemberCB cb = new MemberCB();
cb.query().setXxx_Equal(xxx);
cb.union(new UnionQuery<MemberCB>() {
    public void query(MemberCB unionCB) {
        unionCB.query().setXxx_Equal(xxx);
    }
});
	

ex) C#


MemberCB cb = new MemberCB();
cb.Query().SetXxx_Equal(xxx);
cb.Union(delegate(MemberCB unionCB) {
    unionCB.Query().SetXxx_Equal(xxx);
});
	

これに伴い、以前のやり方のUnionを非推奨メソッドにさせてもらうことにしました(誠に申し訳ございません)。(バージョン-0.7.x系では利用可能です)

ConditionBeanのExistsSubQuery

ConditionBeanのExistsSubQueryでコールバックを利用するようにしました。

ex) Java


MemberCB cb = new MemberCB();
cb.query().setXxx_Equal(xxx);
cb.query().existsPurchaseList(new SubQuery<PurchaseCB>() {
    public void query(PurchaseCB subCB) {
        subCB.query().setXxx_Equal(xxx);
    }
});
	

ex) C#


MemberCB cb = new MemberCB();
cb.Query().SetXxx_Equal(xxx);
cb.Query().ExistsPurchaseList(delegate(PurchaseCB subCB) {
    subCB.Query().SetXxx_Equal(xxx);
});
	

以前のやり方のメソッドはそのまま残ります。

コールバックのEclipseでのコード補完

ご覧のようにC#の方がよりわかりやすくすっきりした実装になっていますが、Eclipseを利用することによって実装はJavaでもとても簡単です。

1. 「cb.query().ex」まで書いてctrl + spaceで補完候補表示&選択


MemberCB cb = new MemberCB();
cb.query().existsPurchaseList(subQuery[カーソル位置])
	

2. subQueryの文字を選択状態でそのまま「new 」と書いてctrl + spaceそしてEnter


MemberCB cb = new MemberCB();
cb.query().existsPurchaseList(new SubQuery<PurchaseCB>[カーソル位置])
	

3. 「() {」を付けてEnter


MemberCB cb = new MemberCB();
cb.query().existsPurchaseList(new SubQuery<PurchaseCB>() {
    [カーソル位置]
})
	

4. 最後の括弧の後ろにセミコロン「;」


MemberCB cb = new MemberCB();
cb.query().existsPurchaseList(new SubQuery<PurchaseCB>() {
    
}); // ★ここ
	

5. コンパイルエラーのnew SubQuery<PurchaseCB>にカーソルを合わせてctrl + 1そしてEnter


MemberCB cb = new MemberCB();
cb.query().existsPurchaseList(new SubQuery<PurchaseCB>() {
    public void query(PurchaseCB subCB) {
        // TODO Auto-generated method stub
    }
});