This is a cache of http://dbflute.seasar.org/ja/environment/upgrade/migration/migrate110to110sp4.html. It is a snapshot of the page at 2024-11-13T00:18:03.059+0000.
移行 1.1.0 to 1.1.0-sp4 | DBFlute

移行 1.1.0 to 1.1.0-sp4

お約束の注意点

古いバージョンの削除
古いバージョンのDBFluteランタイム(JAR)が[web-INF/lib]の下などに残らないように
タスクを実行し忘れないように
Generateタスクだけでなく、(外だしSQLがある場合は)Sql2Entityタスクも実行

環境上の注意点

なんとかDefinitionMap.dfprop の Definition

まず、互換性は保たれているので、無理に移行する必要はありません。

幾つかのdfpropファイルの名前が変わりました。

  • documentDefinitionMap.dfprop to documentMap.dfprop
  • includeQueryMap.dfprop to conditionBeanMap.dfprop
  • optimisticLockDefinitionMap.dfprop to optimisticLockMap.dfprop
  • outsideSqlDefinitionMap.dfprop to outsideSqlMap.dfprop
  • refreshDefinitionMap.dfprop to refreshMap.dfprop
  • replaceSchemaDefinitionMap.dfprop to replaceSchemaMap.dfprop
  • sequenceDefinitionMap.dfprop to sequenceMap.dfprop

sp4以降では、ファイルをrenameしてもそのまま動作しますので、よければ試してみてください。

いくつか littleAdjustment に

refreshMap.dfprop や optimisticLockMap は、同じ内容を littleAdjustmentMap.dfprop で指定できるようになっています。dfprop配下をスッキリさせるため、小さなdfpropは統合しています。

e.g. refreshMap と optimisticLockMap @littleAdjustmentMap.dfprop
    # /- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    # o refreshMap: (NotRequired - Default map:{projectName=$$AutoDetect$$ ; requestUrl=http://localhost:8386/})
    #  If you use synchronizer and specify this property, no need to refresh(F5) your eclipse project.
    #  The projectName can be set plural names by slash '/'. e.g. sea/land
    #
    #; refreshMap = map:{
    #    ; projectName = $$AutoDetect$$
    #    ; requestUrl = http://localhost:8386/
    #}
    # - - - - - - - - - -/

    # /- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    # o optimisticLockMap: (NotRequired - Default map:{})
    #  The definition for optimistic lock of DBFlute.
    #
    #; optimisticLockMap = map:{
    #    # o updateDateFieldName: (NotRequired - Default '')
    #    ; updateDateFieldName = UPDATE_DATE
    #
    #    # o versionNoFieldName: (NotRequired - Default 'VERSION_NO')
    #    #  The column name of version no for optimistic lock.
    #    #  Basically you don't need this if your tables have the column 'VERSION_NO'.
    #    #  because the default value is 'VERSION_NO'.
    #    ; versionNoFieldName = VERSION_NO
    #}
    # - - - - - - - - - -/

互換モード、LambdaのselectEntity()の戻り値

1.0.x から 1.1.x に互換モードで移行した人だけが対象です。

isAvailableSelectEntityPlainReturn を true にすることで、selectEntity()の戻り値が Optional ではなくそのままのEntityが戻るようになりますが、同時に isMakeCallbackConditionBeanSetup を true にして、Lambda引数のselectEntity()も生成しているとき、そちらだけは Optional になるようになっています。 (sp3までは、両方とも Plain な Entity だった)

これにより、古い方のselectEntity()だけは完全に今まで通りで、新しいLambda引数のselectEntity()はOptionalで完全に新しいやり方で実装していくことができます。

もし、Lambda引数のselectEntity()も Plain な Entity にしたいときは、isAvailableLambdaSelectEntityForcedlyOptional を false にします。

実装上の注意点

特になし