CDefクラスをスリム化!
使い方で何か変わることではないですが、ソースコードの量がだいぶ削減されています。
大規模なサービスだと、CDef.javaが巨大になってしまい、IDE上で重くなる現象があるようです。完全な対策になるわけではないですが、できる限り軽くなるような対応をしています。(自動生成後にgit差分を見てみてください^^)
CDefの古いメソッドの抑制オプション
これら Old Style メソッドたち:
CDef.MemberStatus.codeOf() // of()使おう CDef.MemberStatus.nameOf() // byName()使おう CDef.MemberStatus.listOf() // Stream API使おう CDef.MemberStatus.groupOf() // listByGroup()使おう
littleAdjustmentMap.dfpropにて:
# the test of suppressing CDef old style ; isMakeCDefOldStyleCodeOfMethod = true ; isMakeCDefOldStyleNameOfMethod = false ; isMakeCDefOldStyleListOfMethod = false ; isMakeCDefOldStyleGroupOfMethod = false
自動生成するかどうかを選べます。
falseにしてコンパイルエラーにならなければ削除で良いでしょう。
LastaFluteだと?
以前のバージョンでcodeOf()だけは使っていました。
ただ、同日リリースの最新LastaFlute(1.2.4)では使ってないので、両方ともアップグレードすれば削除でOKです。
Google Guiceで複数DB対応!
Play Framework + DBFlute
にて複数DBをするためには、Guiceとの連携をもっとしっかりやる必要がありました。
今回は、ユーザーの方から要望と情報を頂き、対応することができました。ありがとうございます。
// DBFlute Engine: support multipleDB for Google Guice
https://github.com/dbflute/dbflute-core/issues/144
DBFlute Engineでreload4jを!
いままで、自動生成ツールとしてのDBFlute Engineの中ではlog4j v1を使っていました。
アプリに影響するものではないのであまり気にしていませんでしたが、一応EOLを迎えているバージョンということで、セキュリティ対策が入ってサポートされている reload4j を代わりに使うようにしました。
非常に助かりますね^^。作者の方、ありがとうございます。
diffmapでgitコンフリクトしないように!
DBFlute Engineは、HistoryHTMLのためにスキーマの差分情報を保存します。
今までは、schema/project-history-xxx.diffmapというファイルに出力していましたが、複数人で並列で自動生成をしたとき、このファイルがgitコンフリクトします。そもそも並列で自動生成をしないのが基本ですが、何かのズレでなってしまったときにリカバリしないといけません。
コンフリクトするファイルのほとんどが自動生成クラスなので、基本的には再自動生成し直せば大体はOKですが、diffmapはメタデータなのでしっかりマージしないと情報ロスになってしまいます。
これからは、diffmapがgitコンフリクトしなくなりますので、今まではよりはマージしやすくなるでしょう。
詳しくは、移行のページにて。
移行 1.2.5 to 1.2.6 | DBFlute
どれだけ頑張ってもコンフリクトの可能性は0にはなりませんが、できるだけ...
seaさん「あっ、自動生成かぶってgitコンフリクトしたー><」
landさん「まあ別に再自動生成し直せば(大体は)OKだね」
で済むようにしていきたいなと思っています。
改めてユーザーのみなさんのおかげ
今年は元旦リリースがスキップだったのですが...
今回は、一つ一つは細かくても、改善が盛りだくさん。特にユーザーの方々からの要望やフィードバックによる修正が多く、とってもありがたい限りです。そして、とても元気が出ます(^^。
まだまだDBFluteは成長できます!
ので、これからもよろしくおねがいします。