DBFlute-1.0.5F Released

ごーえふっ

DBFlute-1.0.5F was released.
「ごーえふっ」です「ごーえふっ」

DBFlute Top
Change Log
Migration Point

オープンソースプロダクト「DBFlute」
のリリース通知です。
(プログラマー向けの内容です)

Java8へのポテンシャルをアップ

細かい改善は細かいのですが、
今回はポテンシャルがアップしています。

DBFlute-1.1 からは、
Java8コンパイルDBFluteになる予定ですが、
Java8じゃなくても前もってできることをやっています。

特に、以下の三つは、Java8対応への序章です。

A. SubQueryの中で外側のConditionBeanへの間違い操作を防ぐオプション
B. Java8先取り、selectEntity()の戻り値をOptionalEntityに
C. ネストしたLoadReferrerをドット続けてwithNestedReferrer()で

※AとBはオプションです、Cは互換性が保たれるので入れています

Java8のラムダのちょっと心配なところ...

Java8 のラムダになると、
「外側で宣言されている変数と同じ名前の変数をラムダで宣言できない」
という挙動になるようです。

詳しくはこちら:

// Java8のラムダのちょっと心配なところ...
http://d.hatena.ne.jp/jflute/20140515/lambda

万が一 SubQuery の中で外側の cb を呼んじゃったら
例外になるようなチェックオプションを付けられるようにしました。

Optional と LoadReferrer はこんな感じで

Optional と LoadReferrer に関してはこの通り:

// DBFluteでのJava8妄想、やっぱりOptional
http://d.hatena.ne.jp/jflute/20140409/optional

Optional は、とりあえず selectEntity() だけです。
これもオプションです。

LoadReferrer は、互換性を崩さずに導入できたので、
デフォルトで入れています。

Java8互換モード

そして、これらの機能を今のうちからフルで使って、
DBFlute-1.1でのJava8対応の備えるオプションを用意しました。
# littleAdjustmentMap.dfprop にて

isCompatibleBeforeJava8 = false
とすれば、もろもろが 1.1 仕様に近づきます。
ただ、まだパイロット実装ではありますので、
今後また変更が入る可能性はあるのでご了承ください。

Java8関係ないって人でも使える機能

まあ、全然 Java8 なんてまだ使わないよって人には、
関係ないかもしれませんが、
LoadReferrer の withNestedReferrer() に関しては、
すぐに利用できますし、Java8 にしなくても、
もろもろの機能は便利なので、開発始まったばかりであれば、
isCompatibleBeforeJava8 を false にしてもいいかも!?