Domaの互換性に関する情報†
この文書では、既存のDomaをアップグレードする際の注意点を記します。
バージョンAからバージョンBにアップグレードする場合には、バージョン間に
記載されている注意点に従って作業を行なえば良いようになっています。
Doma バージョン1.26.0†
1.25.0 からの重要な変更は以下のとおりです。
Doma†
特にありません。
Doma-Gen†
特にありません。
Doma-Tools†
特にありません。
Doma バージョン1.25.0†
1.24.0 からの重要な変更は以下のとおりです。
Doma†
インタフェース org.seasar.doma.jdbc.domain.DomainType に新しいメソッド getValueClass が追加されました。org.seasar.doma.jdbc.domain.DomainType の実装クラスでは、このメソッドを実装してください
Doma-Gen†
特にありません。
Doma-Tools†
特にありません。
Doma バージョン1.24.0†
1.23.0 からの重要な変更は以下のとおりです。
Doma†
Entityクラスごとにaptで生成されるEntityTypeクラスのpublicなフィールドの名前が変更されました。prefixとして$が付与されるようになりました。
この変更により、EntityTypeのpublicなフィールドを直接利用しているアプリケーションは影響を受けます。直接利用していないアプリケーションは影響を受けません。
1.23.0以前と互換性のあるフィールド名を使用したい場合は、注釈処理のオプションで、keyに「entity.field.prefix」、valueに「none」を指定してください。
http://doma.seasar.org/reference/apt.html
Doma-Gen†
特にありません。
Doma-Tools†
特にありません。
Doma バージョン1.23.0†
1.22.0 からの重要な変更は以下のとおりです。
Doma†
特にありません。
Doma-Gen†
特にありません。
Doma-Tools†
特にありません。
Doma バージョン1.22.0†
1.21.1 からの重要な変更は以下のとおりです。
Doma†
- インタフェース org.seasar.doma.jdbc.Config に新しいメソッド getExceptionSqlLogType が追加されました。org.seasar.doma.jdbc.Config の実装クラスでは、このメソッドを実装してください。これまでと同じ挙動をさせるための実装は以下のとおりです。
@Override
public ExceptionSqlLogType getExceptionSqlLogType() {
return ExceptionSqlLogType.FORMATTED_SQL;
}
Doma-Gen†
特にありません。
Doma-Tools†
特にありません。
Doma バージョン1.21.1†
1.21.0 からの重要な変更は以下のとおりです。
Doma†
特にありません。
Doma-Gen†
特にありません。
Doma-Tools†
特にありません。
Doma バージョン1.21.0†
1.20.1 からの重要な変更は以下のとおりです。
Doma†
特にありません。
Doma-Gen†
特にありません。
Doma-Tools†
特にありません。
Doma バージョン1.20.1†
1.20.0 からの重要な変更は以下のとおりです。
Doma†
特にありません。
Doma-Gen†
特にありません。
Doma-Tools†
特にありません。
Doma バージョン1.20.0†
1.19.0 からの重要な変更は以下のとおりです。
Doma†
- org.seasar.doma.wrapper.WrapperインタフェースにsetAccessorメソッドが追加されました。直接Wrapperをimplementsしている場合は、実装してください。
- 以下のクラスについて、型パラメータとコンストラクタが変更されました。利用している場合は、変更に追随してください。
- org.seasar.doma.jdbc.entity.BasicPropertyType
- org.seasar.doma.jdbc.entity.AssignedIdPropertyType
- org.seasar.doma.jdbc.entity.GeneratedIdPropertyType
- org.seasar.doma.jdbc.entity.VersionPropertyType
Doma-Gen†
特にありません。
Doma-Tools†
特にありません。
Doma バージョン1.19.0†
1.18.0 からの重要な変更は以下のとおりです。
Doma†
特にありません。
Doma-Gen†
特にありません。
Doma-Tools†
特にありません。
Doma バージョン1.18.0†
1.17.0 からの重要な変更は以下のとおりです。
Doma†
特にありません。
Doma-Gen†
特にありません。
Doma-Tools†
特にありません。
Doma バージョン1.17.0†
1.16.0 からの重要な変更は以下のとおりです。
Doma†
特にありません。
Doma-Gen†
特にありません。
Doma-Tools†
特にありません。
Doma バージョン1.16.0†
1.15.0 からの重要な変更は以下のとおりです。
Doma†
- org.seasar.doma.jdbc.SqlNodeインタフェースのaddNodeメソッドとcopyメソッドが非推奨になりました。将来のバージョンで削除される可能性があります。
Doma-Gen†
特にありません。
Doma-Tools†
特にありません。
Doma バージョン1.15.0†
1.14.0 からの重要な変更は以下のとおりです。
Doma†
特にありません。
Doma-Gen†
特にありません。
Doma-Tools†
特にありません。
Doma バージョン1.14.0†
1.13.0 からの重要な変更は以下のとおりです。
Doma†
特にありません。
Doma-Gen†
特にありません。
Doma-Tools†
特にありません。
Doma バージョン1.13.0†
1.12.0 からの重要な変更は以下のとおりです。
Doma†
特にありません。
Doma-Gen†
特にありません。
Doma-Tools†
特にありません。
Doma バージョン1.12.0†
1.11.0 からの重要な変更は以下のとおりです。
Doma†
- 注釈型org.seasar.doma.EnumDomainが非推奨になりました。既存のコードは動作しますが、新規に作成する場合は代わりにorg.seasar.doma.Domainを使用してください。
@EnumDomain
public enum JobType { ... }
EnumDomainを利用した上記のコードは、Domainを利用することで下記のように記述できます。
@Domain(factoryMethod = "of")
public enum JobType { ... }
完全なコード例については、ドキュメントを参照してください。
Doma-Gen†
特にありません。
Doma-Tools†
特にありません。
Doma バージョン1.11.0†
1.10.2 からの重要な変更は以下のとおりです。
Doma†
- インタフェースorg.seasar.doma.jdbc.entity.EntityListenerが変更されています。以下の点について実装クラスを修正してください。
- 既存のメソッド(preDelete, preInsert, preUpdate)に2番目のパラメータが追加された。
- 削除/挿入/更新後に処理をするためのメソッド(postDelete, postInsert, postUpdate)が追加された。
Doma-Gen†
- テンプレートファイルのselectById.sql.ftlとselectByIdAndVersion.sql.ftlが修正されています。既存のバージョンのテンプレートファイルを拡張して使用している場合は、修正箇所を取り込んでください。
テンプレートファイルは、配布ファイルのresources/tempalteディレクトリに含まれています。
Doma-Tools†
特にありません。
Doma バージョン1.10.2†
1.10.1 からの重要な変更は以下のとおりです。
Doma†
特にありません。
Doma-Gen†
特にありません。
Doma-Tools†
特にありません。
Doma バージョン1.10.1†
1.10.0 からの重要な変更は以下のとおりです。
Doma†
特にありません。
Doma-Gen†
特にありません。
Doma-Tools†
特にありません。
Doma バージョン1.10.0†
1.9.0 からの重要な変更は以下のとおりです。
Doma†
特にありません。
Doma-Gen†
特にありません。
Doma-Tools†
特にありません。
Doma バージョン1.9.0†
1.8.0 からの重要な変更は以下のとおりです。
Doma†
特にありません。
Doma-Gen†
特にありません。
Doma-Tools†
特にありません。
Doma バージョン1.8.0†
1.7.0 からの重要な変更は以下のとおりです。
Doma†
特にありません。
Doma-Gen†
特にありません。
Doma-Tools†
特にありません。
Doma バージョン1.7.0†
1.6.0 からの重要な変更は以下のとおりです。
Doma†
- @Update(sqlFile=true)、@BatchUpdate(sqlFile=true)、@Delete(sqlFile=true)、@BatchDelete(sqlFile=true)の場合にも、特定の条件下で楽観的排他制御のチェックを行なうようにしました。
- これまでどおり楽観的排他制御を無効にするには、それぞれのアノテーションのignoreVersion要素にtrueを設定してください。
- @Insert(sqlFile=true)、@BatchInsert(sqlFile=true)、@Update(sqlFile=true)、@BatchUpdate(sqlFile=true)、@Delete(sqlFile=true)、@BatchDelete(sqlFile=true)の場合にも、特定の条件下でエンティティリスナーを呼び出すようにしました。
- これまでどおりエンティティリスナーを呼び出さないようにするには、エンティティリスナーを指定されたエンティティクラスの代わりに、エンティティリスナーを設定していない別のエンティティクラスかDTOクラスを使用してください。
- @Updateと@BatchUpdateのincludeVersion要素を非推奨にし、代わりにignoreVersion要素を追加しました。
- includeVersion要素の使用はやめ、ignoreVersion要素を利用してください。includeVersion要素は将来的に削除されます。
Doma-Gen†
- entity.ftlに代表されるテンプレートファイルが修正されています。既存のバージョンのテンプレートファイルを拡張して使用している場合は、修正箇所を取り込んでください。
テンプレートファイルは、配布ファイルのresources/tempalteディレクトリに含まれています。
Doma-Tools†
特にありません。
Doma バージョン1.6.0†
1.5.0 からの重要な変更は以下のとおりです。
Doma†
- インタフェースorg.seasar.doma.jdbc.JdbcLoggerに以下のメソッドを追加しました。実装クラスがある場合は修正してください。実装方法は、org.seasar.doma.jdbc.UtilLoggingJdbcLoggerを参考にしてください。
- logDaoMethodThrowing(String, String, RuntimeException)
Doma-Gen†
特にありません。
Doma-Tools†
特にありません。
Doma バージョン1.5.0†
1.4.0 からの重要な変更は以下のとおりです。
Doma†
- org.seasar.doma.wrapper.WrapperインタフェースにgetDefaultメソッドを追加しました。org.seasar.doma.wrapper.Wrapperインタフェースを実装しているクラスがある場合は、getDefaultメソッドを実装してください。
- 基本型、基本型のList、ドメインクラスを返す@Selectが注釈されたDaoメソッドに対応するSQLで、SELECTで戻せるのは単一のカラムに限定しました。該当するSQLで、複数のカラムをSELECT句に記述している場合は、修正をお願いします。
Doma-Gen†
特にありません。
Doma-Tools†
特にありません。
Doma バージョン1.4.0†
1.3.1 からの重要な変更は以下のとおりです。
Doma†
- SQLファイル中の式コメントで、/*%elseif 条件式*/ と /*%else */ をサポートしました。今後は、--elseif 条件式-- や --else といったラインコメントではなく、これらのブロックコメントの elseif と else を使ってください。(推奨はしませんが、--elseif 条件式-- や --else がサポートされなくなるわけではありません。)
Doma-Gen†
特にありません。
Doma-Tools†
特にありません。
Doma バージョン1.3.1†
1.3.0 からの重要な変更はありません。
Doma バージョン1.3.0†
1.2.1 からの重要な変更はありません。
Doma バージョン1.2.1†
1.2.0 からの重要な変更はありません。
Doma バージョン1.2.0†
1.1.0 からの重要な変更は以下のとおりです。
Doma†
- インタフェースorg.seasar.doma.jdbc.JdbcLoggerに以下のメソッドを追加しました。実装クラスがある場合は修正してください。実装方法は、org.seasar.doma.jdbc.UtilLoggingJdbcLoggerを参考にしてください。
- logAutoCommitEnablingFailure(String, String, SQLException)
- logTransactionIsolationSettingFailuer(String, String, int, SQLException)
- logLocalTransactionEnded(String, String, String)
- logLocalTransactionRollbackFailure(String, String, String, SQLException)
Doma-Gen†
特にありません。
Doma-Tools†
特にありません。
Doma バージョン1.1.0†
1.0.0 からの重要な変更は以下のとおりです。
Doma†
- インタフェースorg.seasar.doma.jdbc.JdbcLoggerに以下のメソッドを追加しました。実装クラスがある場合は修正してください。実装方法は、org.seasar.doma.jdbc.UtilLoggingJdbcLoggerを参考にしてください。
- logLocalTransactionCommitted(String, String, String)
- logLocalTransactionRolledback(String, String, String)
- logLocalTransactionSavepointCreated(String, String, String, String)
- logLocalTransactionSavepointReleased(String, String, String, String)
- logLocalTransactionSavepointRolledback(String, String, String, String)
- インタフェースorg.seasar.doma.jdbc.JdbcLoggerのメソッドは例外をスローしてはいけないという制約を新たに設けました。例外をスローしないように修正してください。
- 抽象クラスorg.seasar.doma.jdbc.DomaAbstractConfigにstaticでprotectedなメンバーをいくつか追加しました。既存のサブクラスのメンバと名前が重複しないことを確認してください。
Doma-Gen†
特にありません。
Doma-Tools†
特にありません。