Doma 1.35.0 をリリース

Daoフレームワーク Doma 1.35.0 をリリースしました。

ダウンロードはこちらからどうぞ。

Mavenをご利用の方はこちらを参照ください。

以前のバージョンから移行するには移行ガイドを参照ください。

リリースノート

Bug

  • [DOMA-302] - [Core] SelectBuilderの不適切なメソッド名を改めました
  • [DOMA-303] - [Core] SQLコメントで存在しないフィールドを参照すると実行時にNullPointerExceptionが発生する問題を解決しました
  • [DOMA-306] - [Core] PostIterationCallbackを実装した型をDaoメソッドのパラメータで使用できない問題を解決しました
  • [DOMA-309] - [Core] Domaを利用したアプリをJDK 7u40でビルドすると注釈処理で失敗する問題を解決しました

Improvement

  • [DOMA-304] - [Core] @ExternalDomainに対応するメタクラスのルートのパッケージ名を _ から __ に変更しました
  • [DOMA-305] - [Core] Java7やJava8でビルドできるようにソースコードに互換性を持たせました
  • [DOMA-307] - [Core] @Entityのlistener要素にジェネリックなクラスを指定可能にしました
  • [DOMA-308] - [Core] エンティティリスナーのコンテキストクラス(PreInsertContextなど)をジェネリックにしました

補足

  • 1.35.0 移行ガイドに書きましたが、エンティティリスナー周りで修正が入っています。場合によってはコンパイル時エラーになりますが、ガイドに従って解決お願いします。ガイドに従ってコードを修正してもEclipse上でエラーが消えない場合は、プロジェクトの「Clean」をしてみてください。
  • 今回、Doma 1.x.xのソースコードJava 7 や 8 でビルドできるように、JDBC 4.1 や 4.2 で追加されたメソッドを足しておきました。たとえば、Gradleを使ってJava 7 でビルドするには次のようなbuild.gradleで実現できます。テストを実行するには、コンパイルオプションに'-proc:none'をつけるところがポイントです。
apply plugin: 'java'

compileJava {
    options.encoding = 'UTF-8'
}

compileTestJava {
    options.encoding = 'UTF-8'
    options.compilerArgs = ['-proc:none']
}

sourceCompatibility = 1.7
version = '1.36.0-SNAPSHOT'
jar {
    manifest {
        attributes 'Implementation-Title': 'Doma', 'Implementation-Version': version
    }
}
 
repositories {
    mavenCentral()
    maven {url 'http://maven.seasar.org/maven2'}
}
 
dependencies {
    testCompile group: 'org.seasar.aptina', name: 'aptina-unit', version: '1.0.0'
}
  • 将来的には、Java 8 に依存する形で Doma 2 をリリース予定です。