jfluteです。姜さん、こんばんは。
DBFluteのバージョンアップの検討ありがとうございます(^^)/。
まず、基本的な前提からお話させてください。
DBFluteには「Java6版」と「Java8版」があります。
Java6でコンパイルされたjarファイルが提供されているのが「Java6版」
Java8でコンパイルされたjarファイルが提供されているのが「Java8版」
となります。
Java6版は、Java6以上で動作します。たぶんJava17でも動くと思います。
Java8版は、Java8以上で動作します。Java17でも実績があります。
バージョンでいうとこういう対応になります。
Java6版 :: 1.0.x
Java8版 :: 1.1.x (以上)
なので、いまそちらで利用されている DBFlute 1.0.3 は、Java6版になります。
DBFlute-1.2.6 は、Java8版となります。
つまり、1.0.3から1.2.6にアップグレードするということは、
「Java6版からJava8版への移行」ということになります。
Java6版とJava8版は、単にコンパイルバージョンが違うというだけでないです。
Java8版は、Java8で導入された機能をたくさん利用して提供されています。
例えば、Lambda式とかOptionalとかLocalDateとか、それを前提にした改善が行われています。
ゆえに、Java6版とJava8版は、実装方法に違いがあるなど、厳密には互換性を維持していません。
普通に1.0.3から1.2.6にアップグレードすると...
自動生成の時点ですでたくさんのコンパイルエラーが発生するかと思います。
ただ、Java8版には、「Java6版と同じようなインターフェースでJava8版を利用」
するための互換オプションが用意されています。
以下のページが、Java6版からJava8版に移行するためドキュメントとなります。
// 移行 1.0.x to 1.1
http://dbflute.seasar.org/ja/environment/upgrade/migration/migrate10xto11x.html
なので、1.2.6にアップグレードするのであれば、上記の移行ドキュメントをじっくり読んで、
手順を実施していくということになります。
ただ、けっこう大変ではあります。DBFluteに詳しい人が現場に一人いないと厳しいとは思います。
ということなので、個人的には「Java6版のままJava17の環境で動かす」という方が現実的かもしれないとは思います。
DBFluteをアップグレードするのであれば「Java6版の最新」(1.0.5N) にアップグレードする方が良いかなと。
もちろん、現場のみなさんが「最新のDBFluteの恩恵を得たい」というのであれば、
「移行 1.0.x to 1.1」を実施する価値はあると思います。(そのときはjfluteができる限りフォローします^^)
互換オプションを入れたとしても、最新のDBFluteの方が機能的にも内部的にも大きく改善されていますので。
ただ、もし「Java17にアップすることがメインであって、DBFluteは別に変わらなくて良い」というのであれば、
無理にJava8版にする必要もあまりないのかなとは思います。
Java17でJava6版も動くと思うので (ちょっと厳密には試してないのですが...)
という感じで、ひとまずアドバイスさせて頂きました。
もし、わからないことありましたら基礎的なことでも良いので気軽に質問してください(^^。