Java

Doma Tools 更新

EclipseプラグインDoma Toolsのバージョン1.9.0.201008291132ですが、SQLファイルの変更を検知しないというバグが見つかりました。最新版(バージョン1.9.0.201009071233)をリリースしたので古いバージョンをお使いの方は更新サイトから最新版をインストー…

SQLファイルを使ったバッチ更新で意図しないSQLが実行され得る場合に対応 その2

昨日紹介した機能は複数の警告メッセージに対応できていなかったので、ちょこっと直しました(@Suppressのmessageをmessagesにして配列を受け取れるようにしました)。 @Suppress(messages = {Message.DOMA4181, Message.DOMA4182 }) 需要は少ない気がします…

SQLファイルを使ったバッチ更新で意図しないSQLが実行され得る場合に対応

https://www.seasar.org/issues/browse/CONTAINER-427 はS2JDBCの問題ですが、Domaでも同様のことが起き得ます。アイデアもらったのでDomaなりのaptを活用した対応をしてみました。バッチ更新では、複数のSQLがバッチで発行されますが、その際のそれぞれのSQ…

Doma 1.9.0 リリース

Doma 1.9.0 をリリースしました。 ダウンロードはこちらからどうぞ(Eclipseをお使いの方はDoma Toolsも更新することをお奨めします)。 http://doma.seasar.org/downloads.html Mavenをご利用の方はこちらを参照ください。 http://www.seasar.org/wiki/inde…

java.util.Dateのサポートを改良

java.sql.Dateは日付部分しか永続化しませんが、java.util.Dateでは時、分、秒、ミリ秒も含めるようにしてみました。SNAPSHOTあります。 http://maven.seasar.org/maven2-snapshot/org/seasar/doma/doma/1.9.0-SNAPSHOT/doma-1.9.0-20100830.142731-2.jar

Doma Tools の Eclipse 3.6 対応

以前、Doma ToolsのEclipse 3.6上での動作が怪しいといいましたが、これは私の勘違いでした。ちゃんと動いています。ただ、現在のバージョンではバグが見つかっています。次バージョンで修正します(trunkでは修正済み)。

Doma-Genでもエンティティのプロパティの日付型にjava.util.Dateを生成できるようにサポート

genタスクのネストした要素のentityConfigの属性にuseUtilDateを追加しています。ここにtrueを指定するとエンティティのプロパティの日付型にjava.sql.Dateではなくjava.util.Dateを生成できます。 <gen ... <entityConfig ... useUtilDate="true" /> ... </gen> SNAPSHOTを作成したのでよければどうぞ。 http://…

Domaのエンティティのプロパティ等でjava.util.Dateをサポート

JAX-RS + Doma で 100% ハマルことにあるように、JAX-RSではjava.sql.Dateがサポートされていないようです。これはJAX-RSの仕様なんでしょうか?それとも実装の問題?いずれにしても、あまりに不便なので、java.sql.Dateに加えてjava.util.DateについてもDom…

コードファースト

Entity Framework 4でコード・ファースト開発が注目を集めているとかいないとか。 S2JDBC-Genでも「コードファースト」実現できます、.NETじゃなくてJavaですが。

S2JDBC-GenでAntの出力がコンソール上で化ける件が解決っぽい

解決方法をまとめてくれた方がいます。 Eclipse 3.6 + Ant + S2JDBC-Gen 文字化け、コンソール停止 私のほうでも試してみてうまくいったらドキュメントに反映させたいと思います。

Eclipse Marketplaceを使ってみようと思ったら

Classic Packageはサポートされてないらしい。。http://marketplace.eclipse.org/marketplace-client-introのページにexcept the Classic Packageとあります。

Doma Tools の Eclipse 3.6 での稼動確認

Doma自体は別に問題ないんですが、EclipseプラグインであるDoma Toolsの挙動がちょっと怪しいです。。。 まだ原因わかっていないですが、SQLの変更を検知して対応するDaoをビルドするところでたまにエラーがでるような。 すぐに解決できる気がしないんですが…

Daoフレームワーク Doma 1.8.0 をリリース

Java6対応のDaoフレームワーク Doma 1.8.0 をリリースしました。ダウンロードはこちらからできます。 http://doma.seasar.org/downloads.html Mavenをご利用の方はこちらを参照ください。 http://www.seasar.org/wiki/index.php?Maven2RepoRemote 以前のバー…

SQLの組み立て用APIを実装してみました

SNAPSHOTおいておきます。 http://maven.seasar.org/maven2-snapshot/org/seasar/doma/doma/1.8.0-SNAPSHOT/doma-1.8.0-20100606.122116-1.jar 使い方はこんな感じです。@Delegateと組み合わせて使うのがお奨めです。 SELECT SelectBuilder builder = Select…

SQLの組み立て用APIの構想

なんらかの理由でSQLファイルを使いたくない場合は、Spring JDBCとか、DbUtilsを使ってもらえばいいかなぁと思っていましたが、SQL組み立て用のAPIがあってもいいかもしれないと思い、プロトタイプを作成中。 Java SelectBuilder builder = SelectBuilder.ne…

Daoフレームワーク Doma 1.7.0 をリリース

Java6対応のDaoフレームワーク Doma 1.7.0 をリリースしました。ダウンロードはこちらからできます。 http://doma.seasar.org/downloads.html Mavenをご利用の方はこちらを参照ください。 http://www.seasar.org/wiki/index.php?Maven2RepoRemote 以前のバー…

Doma 1.7.0の新機能とか変更点とか

いくつかあるのですが、ドキュメントのリンクといっしょに紹介します。 @Script関連 @Scriptのドキュメントは以下のものです。 http://doma.seasar.org/reference/query/script.html @Scriptについては、Daoメソッドとscriptファイル間をジャンプできるよう…

SQLファイルを使った場合でも楽観的排他制御

次のバージョン(Doma 1.7.0)からSQLファイルを使った場合でも楽観的排他制御を行うようにします。 主に、論理削除のことを考慮してです。 たとえば、次のエンティティとDaoがあるとします。 エンティティ @Entity class Employee { ... @Version public in…

更新系メソッドでSQLファイルを使う場合もエンティティリスナーを呼び出すように変更

Domaですが、次のバージョン(1.7.0)から、Daoの更新系メソッドでSQLファイルを使う場合もエンティティリスナーを呼び出すようにします(これまでは、SQL自動生成の更新系メソッドdだけが対象でした)。SQLファイルを使ったバッチ更新のときも呼び出します。 …

列挙型で任意の値をデータベースとやりとり

Domaは、これまでも列挙型には対応していました。 下記のような定義をした場合、データベースにはJobType#name()でかえってくるSALSESMANやMANAGERといった文字列をデータベースに格納し、データベースからはこれらの文字列を列挙型に変換していました。 @En…

スクリプトを実行するためのアノテーション @Script

次のDoma 1.7.0で導入しようかなーと検討中です。使い方は次のようにDaoのメソッドに注釈するだけです。 @Dao(config = ItConfig.class) public interface ScriptDao { @Script void create(); @Script(haltOnError = false) void drop(); } createメソッド…

Doma 1.6.0 リリース

Java6対応の Daoフレームワーク Doma 1.6.0 をリリースしました。ダウンロードはこちらからどうぞ。 http://doma.seasar.org/downloads.html Maven2 からのご利用はこちらを参照ください。 http://www.seasar.org/wiki/index.php?Maven2RepoRemote 1.5.0から…

JdbcLoggerについて

Domaでは、データベースアクセスに関するログ全てについて、それをどう扱うのか(どこにどうやって出力する/しない)を利用者におまかせしています。利用者は、JdbcLoggerインタフェース(http://doma.seasar.org/apidocs/org/seasar/doma/jdbc/JdbcLogger.h…

Domaの開発開始から1年

そういえば、去年のGWから作り始めたのでした。ブログ書いたのは、去年の5月3日でしたが、GWにはいってすぐに作り始めた気がします。 http://d.hatena.ne.jp/taedium/20090503最初のアイデアからはそこそこ変わっていますが、いろんな方のアイデアを取り入れ…

Daoメソッド呼び出し終了のログ

Daoメソッドの呼び出し開始と終了のログを出力可能にしていますが、実は、楽観的排他制御等の例外がスローされたときは終了のログが出ないですね。 例外で終了したことがわかるようなログを出力可能にしようと思います。JdbcLoggerインタフェースに次のよう…

Doma 1.5.0 をリリースしてから一週間

ここのところ毎週のようにリリースしていましたが、今週はリリースしなくて大丈夫そうです。特にバグ報告ないので。 まるまる一週間たって、約30ダウンロード。意外と多いか、それとも少ないかなんともわかりません。少なくともS2Daoに比べると人気はないで…

Criteria APIは実装しないことにします

Domaで、SQLをJavaのAPIで組み立てるCriteria APIを提供しようと一時考えていたのですが、やめます。 途中まで実装したのですが、JavaでごにょごにょするよりSQLを直接記述したほうが楽(記述するのも、テストするのも)だとかんじてしまったので。 もし期待…

Domaを作ろうと思った1つのきっかけ

DomaはDomain Oriented MApping frameworkのアクロニムで、ここでのDomainが意味するのは値の定義域のことです。Domainという同じ言葉を使っていても、DDD(Domain Driven Design)のDomainとはなんら関係ないわけですが、Domaを作ろうと思った1つのきっかけは…

Domaの裏コンセプト

Domaの表のコンセプト(利用者にとって重要なもの)は、Domaのトップページに載せていますが、裏コンセプト(利用者には重要でない設計上の指針)というのもありました。それは、次の3つをうまく使うということです。 Visitorパターン Interpreterパターン …

Doma 1.5.0 リリース

Java6対応の Daoフレームワーク Doma 1.5.0 をリリースしました。ダウンロードはこちらからどうぞ。 http://doma.seasar.org/downloads.html Maven2 からのご利用はこちらを参照ください。 http://www.seasar.org/wiki/index.php?Maven2RepoRemote 1.4.0から…