バージョン移行{0.8.4 to 0.8.5}
環境上の注意点
Sql2Entityも一緒に *いつもの注意点
バージョンアップした際は、GenerateだけでなくSql2Entityも実行して下さい。
古いテーブルを削除 *いつもの注意点
古いテーブルのクラスが残っているとコンパイルエラーになる可能性があります。 それらクラスは不要なので削除するようにして下さい。
build-xxx.propertiesに「torque.isDeleteOldTableClass = true」を定義すると、古いテーブルのクラスを削除(OS上のファイルを削除)します。設定例はこちら
非推奨のクラス
以下のクラスが非推奨となり、デフォルトでは生成されないようになりました。 (いずれもドキュメントに載っておらず内部的にも不要なクラスでした)
- allcommon.BFinder
- allcommon.GenMetaData
非推奨のメソッド
以下のメソッドは以前のバージョンから非推奨となっていましたが、今回デフォルトで生成されないようになりました。
- ConditionBean.limitSelect_PKOnly() *SpecifyColumn機能にて代替可能
- ConditionBean.union(XxxCB) *ConditionBean.union(SubQuery
)にて代替可能
実装上の注意点
BhvがDaoを利用しない(Java版のみ)に完全移行
前バージョン(0.8.4)ではプロパティで「BhvがDaoを利用するモード」に戻せましたが、 jfluteの日記:BhvがDaoを利用しないに書いてある通り、 このプロパティを廃止して完全に移行します。0.8.5からはBhvがDaoを利用することはありません。
Daoインターフェースを生成しないモード(Java版のみ)
前バージョン(0.8.4)で導入された機能ですが、0.8.5からはデフォルトではDaoインターフェースは生成されなくなります。
明示的に「torque.isMakeDaoInterface = true」と設定することでDaoインターフェースが生成されます。 但し、このプロパティも将来のバージョンでサポートされない可能性があります。
移行手順
Daoインターフェースが作成されるバージョンからの移行手順は以下の通りです。
- bsdao/exdaoパッケージを削除して自動生成し直し(Generate/Sql2Entity)
- EclipseでJavaクラス全部に「インポートの編成(Organize Imports)」を実行
「インポートの編成(Organize Imports)」がポイントです。bsdao/exdaoパッケージを無くすことに伴って、 ParameterBeanのパッケージが「bsdao/pmbean」から「bsbhv/pmbean」に変わっています。 Eclipseで選択したソースディレクトリ配下のクラスを一気に「インポートの編成」できますのでそんなに手間にはなりません。
不要クラス
Daoインターフェースを生成しないことにより、以下のクラスが不要になりますので削除しても構いません。
- allcommon.DaoReadable
- allcommon.DaoWritable
- allcommon.DaoSelector
- allcommon.CacheDaoSelector
- allcommon.s2dao.S2DaoInterceptor
- allcommon.s2dao.S2DaoMetaDataExtension
- allcommon.s2dao.S2DaoMetaDataFactoryImpl
- allcommon.s2dao.S2DaoSelectDynamicCommand