Migration Guide 5.6.1_ja - terasolunaorg/terasoluna-gfw GitHub Wiki

5.6.0から5.6.1への移行ガイド

.. only:: html

 .. contents:: 目次
    :depth: 2
    :local:

5.6.1での主な変更点

5.6.1での主な変更点は以下の通りです。

  • Hibernate ORMを5.4.25.Finalへ更新

Hibernate ORMを5.4.25.Finalへ更新

Hibernate ORM 5.4.25.Finalへ更新しました。

共通ライブラリの仕様を一部変更

共通ライブラリの一部仕様の変更と機能の追加を行いました。

  • [#1040] Apply Hibernate ORM 5.4.25

5.6.0から5.6.1への移行手順

移行手順は、以下の通りです。

Note

凡例

Required : 手順の適用は必須
Required by case : 手順の適用は条件付きで必須
Optional : 手順の適用を推奨 (必要に応じて手順の適用を実施)
- : 手順の適用は必要なし

[全般]

.. tabularcolumns:: |p{0.10\linewidth}|p{0.30\linewidth}|p{0.20\linewidth}|p{0.20\linewidth}|p{0.20\linewidth}|
ステップ 手順 MavenMultiple Projects MavenSingle Project EclipseWTP Project
依存ライブラリを更新 Required Required Required

[共通ライブラリ]

.. tabularcolumns:: |p{0.10\linewidth}|p{0.30\linewidth}|p{0.20\linewidth}|p{0.20\linewidth}|p{0.20\linewidth}|
ステップ 手順 MavenMultiple Projects MavenSingle Project EclipseWTP Project
Hibernate ORMの脆弱性解決のための設定 Required by case Required by case Required by case

[Step 1] 依存ライブラリを更新

TERASOLUNA Server Framework for Java (5.x)の共通ライブラリと依存ライブラリを更新してください。 以下に、この手順により更新される代表的な依存ライブラリを示します。

.. tabularcolumns:: |p{0.35\linewidth}|p{0.25\linewidth}|p{0.25\linewidth}|p{0.15\linewidth}|
ライブラリ名 更新前バージョン 更新後バージョン 備考
TERASOLUNA Server Framework for Java (5.x) Common Library 5.6.0.RELEASE 5.6.1.RELEASE  
Hibernate ORM 5.4.10.Final 5.4.25.Final  

[手順が必要なケース]

この手順の適用は必須です。

[Step 1-1] Maven Multiple Projectsを利用している場合

この更新手順は、mvn archetype を使用して作成したプロジェクト向けです。

親プロジェクトのPOMファイルの version5.6.1.RELEASE に修正してください。

  • ($YOUR_MULTIPLE_PROJECT_ROOT/pom.xml)
<!-- omitted -->
<parent>
    <groupId>org.terasoluna.gfw</groupId>
    <artifactId>terasoluna-gfw-parent</artifactId>
    <version>5.6.1.RELEASE</version>                    <!-- ### 修正箇所 ### -->
</parent>
<!-- omitted -->

[Step 1-2] Maven Single Projectを利用している場合

この更新手順は、mvn archetype を使用して作成したプロジェクト、又は release site からダウンロードしたプロジェクト向けです。

プロジェクトのPOMファイルの version5.6.1.RELEASE にしてください。

  • ($YOUR_SINGLE_PROJECT/pom.xml)
<!-- omitted -->
<parent>
    <groupId>org.terasoluna.gfw</groupId>
    <artifactId>terasoluna-gfw-parent</artifactId>
    <version>5.6.1.RELEASE</version>                    <!-- ### 修正箇所 ### -->
</parent>
<!-- omitted -->

[Step 2] Hibernate ORMの脆弱性解決のための設定

5.6.1より、下記の脆弱性を解決するためHibernate ORMを5.4.25.Finalへ更新しました。

[CVE-2020-25638] Potential for SQL injection on use_sql_comments logging enabled

[手順が必要なケース]

5.6.1が利用しているHibernate ORM 5.4.25.Finalを使用すれば、CVE-2020-25638で報告されている脆弱性は発生しません。

動作するAPサーバによっては、アプリケーションではなくAPサーバに同梱されたHibernate ORMが使用される場合がある点にもご注意ください。 例としてJBoss EAP 7では、jboss-deployment-structure.xmlの作成と設定のようにjpaサブシステムを除外していない場合、JBossに同梱されたHibernate ORMが使用される可能性があります。

脆弱性対策のためhibernate.use_sql_comments=falseに変更を行っていた場合はtrueに戻してください。 5.6.1よりガイドラインにhibernate.use_sql_commentsの設定の指針を追加しているため、設定を変更する際はEntityManagerの設定を参考にしてください。

5.6.1用のAppendix

Eclipse WTP Project使用時のライブラリ更新

この更新手順は、release site からダウンロードしたEclipse WTPプロジェクト向けです。

Note

凡例

[テーブルヘッダ]
Non : O/R Mapperに非依存のブランクプロジェクト
MB3 : MyBatis3用のブランクプロジェクト
JPA : JPA用のブランクプロジェクト
[備考欄]
* : オペレーション対象

[Step 1]

Eclipse WTP Project of 5.6.1.RELEASE をダウンロードしてください。

[Step 2]

Eclipseが起動している場合、Eclipseを終了します。

[Step 3]

$YOUR_ECLIPSE_WTP_PROJECT/src/main/webapp/WEB-INF/lib のjarファイルを更新(削除して追加)してください。

.. tabularcolumns:: |p{0.25\linewidth}|p{0.30\linewidth}|p{0.30\linewidth}|p{0.05\linewidth}|p{0.05\linewidth}|p{0.05\linewidth}|
ライブラリ名 削除ファイル 追加ファイル Non MB3 JPA
TERASOLUNA Server Framework for Java (5.x) Common Library terasoluna-gfw-common-5.6.0.RELEASE.jar terasoluna-gfw-common-5.6.1.RELEASE.jar * * *
  terasoluna-gfw-jodatime-5.6.0.RELEASE.jar terasoluna-gfw-jodatime-5.6.1.RELEASE.jar * * *
  terasoluna-gfw-security-web-5.6.0.RELEASE.jar terasoluna-gfw-security-web-5.6.1.RELEASE.jar * * *
  terasoluna-gfw-web-5.6.0.RELEASE.jar terasoluna-gfw-web-5.6.1.RELEASE.jar * * *
  terasoluna-gfw-web-jsp-5.6.0.RELEASE.jar terasoluna-gfw-web-jsp-5.6.1.RELEASE.jar * * *
Hibernate ORM hibernate-commons-annotations-5.1.0.Final.jar hibernate-commons-annotations-5.1.2.Final.jar *
  hibernate-core-5.4.10.Final.jar hibernate-core-5.4.25.Final.jar *
  hibernate-entitymanager-5.4.10.Final.jar hibernate-entitymanager-5.4.25.Final.jar *
  jandex-2.1.1.Final.jar jandex-2.1.3.Final.jar *
  javassist-3.24.0-GA.jar javassist-3.27.0-GA.jar *
Dom4J dom4j-2.1.1.jar dom4j-2.1.3.jar *

[Step 4]

$YOUR_ECLIPSE_WTP_PROJECT/libsrc のソース格納用jarファイルを更新(削除して追加)してください。

.. tabularcolumns:: |p{0.25\linewidth}|p{0.30\linewidth}|p{0.30\linewidth}|p{0.05\linewidth}|p{0.05\linewidth}|p{0.05\linewidth}|
ライブラリ名 削除ファイル 追加ファイル Non MB3 JPA
TERASOLUNA Server Framework for Java (5.x) Common Library terasoluna-gfw-common-5.6.0.RELEASE-sources.jar terasoluna-gfw-common-5.6.1.RELEASE-sources.jar * * *
  terasoluna-gfw-jodatime-5.6.0.RELEASE-sources.jar terasoluna-gfw-jodatime-5.6.1.RELEASE-sources.jar * * *
  terasoluna-gfw-security-web-5.6.0.RELEASE-sources.jar terasoluna-gfw-security-web-5.6.1.RELEASE-sources.jar * * *
  terasoluna-gfw-web-5.6.0.RELEASE-sources.jar terasoluna-gfw-web-5.6.1.RELEASE-sources.jar * * *
  terasoluna-gfw-web-jsp-5.6.0.RELEASE-sources.jar terasoluna-gfw-web-jsp-5.6.1.RELEASE-sources.jar * * *
Hibernate ORM hibernate-commons-annotations-5.1.0.Final-sources.jar hibernate-commons-annotations-5.1.2.Final-sources.jar *
  hibernate-core-5.4.10.Final-sources.jar hibernate-core-5.4.25.Final-sources.jar *
  hibernate-entitymanager-5.4.10.Final-sources.jar hibernate-entitymanager-5.4.25.Final-sources.jar *
  jandex-2.1.1.Final-sources.jar jandex-2.1.3.Final-sources.jar *
  javassist-3.24.0-GA-sources.jar javassist-3.27.0-GA-sources.jar *
  dom4j-2.1.1.jar dom4j-2.1.3.jar *

[Step 6]

置換文字列を使用して、参照ライブラリを更新してください。

  • $YOUR_ECLIPSE_WTP_PROJECT/.classpath
  • $YOUR_ECLIPSE_WTP_PROJECT/build.xml
.. tabularcolumns:: |p{0.25\linewidth}|p{0.30\linewidth}|p{0.30\linewidth}|p{0.05\linewidth}|p{0.05\linewidth}|p{0.05\linewidth}|
ライブラリ名 置換対象文字 置換文字 Non MB3 JPA
TERASOLUNA Server Framework for Java (5.x) Common Library terasoluna-gfw-common-5.6.0.RELEASE terasoluna-gfw-common-5.6.1.RELEASE * * *
  terasoluna-gfw-jodatime-5.6.0.RELEASE terasoluna-gfw-jodatime-5.6.1.RELEASE * * *
  terasoluna-gfw-security-web-5.6.0.RELEASE terasoluna-gfw-security-web-5.6.1.RELEASE * * *
  terasoluna-gfw-web-5.6.0.RELEASE terasoluna-gfw-web-5.6.1.RELEASE * * *
  terasoluna-gfw-web-jsp-5.6.0.RELEASE terasoluna-gfw-web-jsp-5.6.1.RELEASE * * *
Hibernate ORM hibernate-commons-annotations-5.1.0.Final hibernate-commons-annotations-5.1.2.Final *
  hibernate-core-5.4.10.Final hibernate-core-5.4.25.Final *
  hibernate-entitymanager-5.4.10.Final hibernate-entitymanager-5.4.25.Final *
  jandex-2.1.1.Final jandex-2.1.3.Final *
  javassist-3.24.0-GA javassist-3.27.0-GA *
  dom4j-2.1.1 dom4j-2.1.3 *
⚠️ **GitHub.com Fallback** ⚠️