移行 0.9.5.2 to 0.9.5.3
お約束の注意点
- 古いバージョンの削除
- 古いバージョンのDBFluteランタイム(JAR)が[web-INF/lib]の下などに残らないように
- タスクを実行し忘れないように
- Generateタスクだけでなく、(外だしSQLがある場合は)Sql2Entityタスクも実行
環境上の注意点
同梱するJDBCドライバの整理(SQLServerとFirebird)
SQLServerのJDBCドライバ「sqljdbc.jar」がこのバージョンから同梱されないようになりました。 DBFluteの構造とこのJDBCドライバの構造が相性が悪いため、ユーザが明示的にJDBCドライバを取得してきて、 DBFluteモジュールに設置する方が良いと考えました。
FirebirdのJDBCドライバがこのバージョンから同梱されないようになりました。 もともとサポートしていないDBであり、将来のために残していましたが、どんどんバージョンが 古くなっていくだけで無意味なため一旦は削除するようにしました。
テーブル区分値はEntityのName/Aliasを取得するメソッド無し
テーブル区分値のClassificationの場合、EntityのgetXxxName(), getXxxAlias()メソッドは生成されません。
通常、テーブル区分値の場合は名称の取得に関してはしっかりテーブルの方を見るべきであり(運用中のマスタ変更を想定)、
Name/Aliasの取得メソッドセキュリティホールになる恐れがあるためです。
基本的にテーブル区分値のClassificationは設定(classify)や判定(isXxx)だけに利用し、 名称の表示に関しては、FKを辿ってSQL経由で名称を取得することを想定しています。
互換性のために、littleAdjustmentMap.dfpropに「isMakeEntityTableClassificationNameAlias = true」を 設定して自動生成し直すとテーブル区分値のClassificationでもEntityのgetXxxName(), getXxxAlias()メソッドが生成されます。
実装上の注意点
特になし