*Domaの互換性に関する情報 [#ke7ed8db] この文書では、既存のDomaをアップグレードする際の注意点を記します。 バージョンAからバージョンBにアップグレードする場合には、バージョン間に 記載されている注意点に従って作業を行なえば良いようになっています。 **[[Doma]] バージョン1.12.0 [#nea7b355] 1.11.0 からの重要な変更は以下のとおりです。 ***Doma [#xfd20468] -注釈型org.seasar.doma.EnumDomainが非推奨になりました。既存のコードは動作しますが、新規に作成する場合は代わりにorg.seasar.doma.Domainを使用してください。 @EnumDomain public enum JobType { ... } EnumDomainを利用した上記のコードは、Domainを利用することで下記のように記述できます。 @Domain(factoryMethod = "of") public enum JobType { ... } 完全なコード例については、[[ドキュメント>http://doma.seasar.org/reference/domain.html#%E3%83%95%E3%82%A1%E3%82%AF%E3%83%88%E3%83%AA%E3%83%A1%E3%82%BD%E3%83%83%E3%83%89%E3%81%A7%E7%94%9F%E6%88%90%E3%81%99%E3%82%8B]]を参照してください。 ***Doma-Gen [#y08a92f4] 特にありません。 ***Doma-Tools [#r94370d0] 特にありません。 **[[Doma]] バージョン1.11.0 [#ue79030b] 1.10.2 からの重要な変更は以下のとおりです。 ***Doma [#n23011b5] -インタフェースorg.seasar.doma.jdbc.entity.EntityListenerが変更されています。以下の点について実装クラスを修正してください。 --既存のメソッド(preDelete, preInsert, preUpdate)に2番目のパラメータが追加された。 --削除/挿入/更新後に処理をするためのメソッド(postDelete, postInsert, postUpdate)が追加された。 ***Doma-Gen [#y08a92f4] -テンプレートファイルのselectById.sql.ftlとselectByIdAndVersion.sql.ftlが修正されています。既存のバージョンのテンプレートファイルを拡張して使用している場合は、修正箇所を取り込んでください。 テンプレートファイルは、配布ファイルのresources/tempalteディレクトリに含まれています。 ***Doma-Tools [#r94370d0] 特にありません。 **[[Doma]] バージョン1.10.2 [#wad16440] 1.10.1 からの重要な変更は以下のとおりです。 ***Doma [#td673ce7] 特にありません。 ***Doma-Gen [#ta9d64dd] 特にありません。 ***Doma-Tools [#kb7cf89b] 特にありません。 **[[Doma]] バージョン1.10.1 [#d5adc26f] 1.10.0 からの重要な変更は以下のとおりです。 ***Doma [#r6caf2e0] 特にありません。 ***Doma-Gen [#i5bbeed3] 特にありません。 ***Doma-Tools [#vc7896ec] 特にありません。 **[[Doma]] バージョン1.10.0 [#ec6a3395] 1.9.0 からの重要な変更は以下のとおりです。 ***Doma [#g849df6f] 特にありません。 ***Doma-Gen [#h876dac2] 特にありません。 ***Doma-Tools [#o7de5301] 特にありません。 **[[Doma]] バージョン1.9.0 [#m5e4a7f5] 1.8.0 からの重要な変更は以下のとおりです。 ***Doma [#gceca342] 特にありません。 ***Doma-Gen [#x994a90c] 特にありません。 ***Doma-Tools [#n9747d3d] 特にありません。 **[[Doma]] バージョン1.8.0 [#y27dc517] 1.7.0 からの重要な変更は以下のとおりです。 ***Doma [#x63fd3f5] 特にありません。 ***Doma-Gen [#aa91dc84] 特にありません。 ***Doma-Tools [#e5aab970] 特にありません。 **[[Doma]] バージョン1.7.0 [#s69e2a0f] 1.6.0 からの重要な変更は以下のとおりです。 ***Doma [#q8cb1cc5] -@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 [#e1503fe7] -entity.ftlに代表されるテンプレートファイルが修正されています。既存のバージョンのテンプレートファイルを拡張して使用している場合は、修正箇所を取り込んでください。 テンプレートファイルは、配布ファイルのresources/tempalteディレクトリに含まれています。 ***Doma-Tools [#m3f029f0] 特にありません。 **[[Doma]] バージョン1.6.0 [#g083885d] 1.5.0 からの重要な変更は以下のとおりです。 ***Doma [#q8cb1cc5] -インタフェースorg.seasar.doma.jdbc.JdbcLoggerに以下のメソッドを追加しました。実装クラスがある場合は修正してください。実装方法は、org.seasar.doma.jdbc.UtilLoggingJdbcLoggerを参考にしてください。 --logDaoMethodThrowing(String, String, RuntimeException) ***Doma-Gen [#e1503fe7] 特にありません。 ***Doma-Tools [#m3f029f0] 特にありません。 **[[Doma]] バージョン1.5.0 [#y04634c8] 1.4.0 からの重要な変更は以下のとおりです。 ***Doma [#k708d4f1] -org.seasar.doma.wrapper.WrapperインタフェースにgetDefaultメソッドを追加しました。org.seasar.doma.wrapper.Wrapperインタフェースを実装しているクラスがある場合は、getDefaultメソッドを実装してください。 -基本型、基本型のList、ドメインクラスを返す@Selectが注釈されたDaoメソッドに対応するSQLで、SELECTで戻せるのは単一のカラムに限定しました。該当するSQLで、複数のカラムをSELECT句に記述している場合は、修正をお願いします。 ***Doma-Gen [#e1503fe7] 特にありません。 ***Doma-Tools [#m3f029f0] 特にありません。 **[[Doma]] バージョン1.4.0 [#i3119f74] 1.3.1 からの重要な変更は以下のとおりです。 ***Doma [#k708d4f1] -SQLファイル中の式コメントで、/*%elseif 条件式*/ と /*%else */ をサポートしました。今後は、--elseif 条件式-- や --else といったラインコメントではなく、これらのブロックコメントの elseif と else を使ってください。(推奨はしませんが、--elseif 条件式-- や --else がサポートされなくなるわけではありません。) ***Doma-Gen [#e1503fe7] 特にありません。 ***Doma-Tools [#m3f029f0] 特にありません。 **[[Doma]] バージョン1.3.1 [#nd6ad0ce] 1.3.0 からの重要な変更はありません。 **[[Doma]] バージョン1.3.0 [#d6871ed6] 1.2.1 からの重要な変更はありません。 **[[Doma]] バージョン1.2.1 [#q3f46373] 1.2.0 からの重要な変更はありません。 **[[Doma]] バージョン1.2.0 [#pb6c360e] 1.1.0 からの重要な変更は以下のとおりです。 ***Doma [#j94f8575] -インタフェース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 [#z348e11f] 特にありません。 ***Doma-Tools [#gf39fae2] 特にありません。 **[[Doma]] バージョン1.1.0 [#w91ee2bb] 1.0.0 からの重要な変更は以下のとおりです。 ***Doma [#p17fec54] -インタフェース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 [#lcdb045e] 特にありません。 ***Doma-Tools [#k229600d] 特にありません。