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 をリリース予定です。

Doma 1.34.0 をリリース

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

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

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

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

リリースノート

Bug

  • [DOMA-298] - [Core] カスタム関数で型パラメータを使うと実行時エラーになることがある問題を解決しました

Improvement

  • [DOMA-299] - [Core] @Entityのnaming要素の指定をサブクラスに自動で引き継ぐようにしました
  • [DOMA-301] - [Core] @Entityのlistener要素の指定をサブクラスに自動で引き継ぐようにしました

New Feature

  • [DOMA-297] - [Core] Entityをimmutableにできるようにしました(ただしEXPERIMENTALな機能)
  • [DOMA-300] - [Core] @Select、@Function、@ResultSetにマッピング漏れを防ぐensureResultMapping要素を導入しました

Doma 1.33.0 をリリース

Doma 1.33.0 をリリースしました。

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

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

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

リリースノート

Bug

  • [DOMA-292] - [Core] SQLファイル中にコメントがあると場合によって適切に処理できない問題に対応しました

Improvement

  • [DOMA-293] - [Core] Entityの親クラスに対する@OriginalStatesの指定を子クラスに反映させました
  • [DOMA-294] - [Core] DaoメソッドにマッピングされないSQLファイルが存在する場合は警告するようにしました
  • [DOMA-295] - [Core] 式コメントの組み込み関数containを非推奨とし代わりにinfixを追加しました
  • [DOMA-296] - [Core] 式コメントの組み込み関数roundDownTimePartとroundUpTimePartでjava.util.Dateに対応しました

m2eでDomaを使う場合に気をつけること

m2e(m2eclipse)を使って次のようなエラーがでたら設定を調整してください。

[DOMA4019] SQLファイル[META-INF/../select.sql]がクラスパスから見つかりませんでした


これは、m2e(m2eclipse)で作ったプロジェクトがSQLファイルをOutput Folderにコピーしないために起きます。既存のプロジェクトをMaven Projectに変換したときに発生するのですが、なんでこんな設定になるのか不思議。

設定を変更するには次のようにします。

プロジェクトのJava Build Pathの設定でSQLを含むSource FolderのIncludedを選んでEdit


javaファイルのパターンをRemoveしてFinish







次のリリースのときに、FAQにもう少しわかりやすいように記載しておきます。

Doma 1.32.0 をリリース

Doma 1.32.0 をリリースしました。

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

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

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

リリースノート

New Feature

  • [DOMA-290] - [Core] Domainクラスに任意の数の型パラメータを指定できるようにしました

Improvement

  • [DOMA-289] - [Doc] 誤字脱字を修正しました
  • [DOMA-291] - [Core] Domaを利用したソースコードをJava7でビルドした場合に注釈処理の警告が出力されるのを抑制しました

補足

DOMA-290

これは前回のエントリで説明した機能です。
http://d.hatena.ne.jp/taedium/20130811/p1

ドキュメントにも記載しました。
http://doma.seasar.org/reference/domain.html

DOMA-291

Java7でjavacをしたときに出力されていた以下のような警告を出力されないようにしたということです。

  [javac] 警告:注釈プロセッサ'org.seasar.doma.internal.apt.EntityProcessor'から-source '1.7'より小さいソース・バージョン'RELEASE_6'がサポートされています