2010-02-01から1ヶ月間の記事一覧

クライテリアAPI

Domaのextensionで作りかけです。 アイデアはあるんですが、時間がとれず進んでいません。 どなたかやりません??

JTAとコネクションプーリングの実装

Domaのextensionで用意するのはありかもとは思っています。 いますぐという予定はありませんが、一度くらい実装してみたいAPIですよね。 やるならJTAとコネクションプーリングでひとつのjarでいいんじゃないかと思っています。で、Doma本体に依存しない形に…

Daoの実装クラスが生成されない?と思ったら

Eclipseをお使いの場合はError Logビューをみてください。EclipseにError Logビューがついていないんだけどという場合は、Eclipseのワークスペースの.metadataフォルダにある.logファイルをみてください。 DomaのAPIからなんかエラーがでていませんか?その…

DomaのDaoでオーバーロードを使うポイント

DomaのDaoでは、SQLへのバインド変数が同じであればオーバーロードが使えます(S2Daoではオーバーロードは制限されています。)。主に、IterationCallbackとかSelectOptionsをシグネチャにもったメソッドでオーバーロードすることになります。こんな感じです…

NullPointerExceptionなどの標準例外を使っていないわけ

Domaでは、Daoのメソッドに期待されない引数(nullとか)が渡された場合に例外をスローしますが、そのときの例外にNullPointerExceptionやIllegalArgumentExceptionを使っていません。代わりに、DomaNullPointerExceptionやDomaIllegalArgumentExceptionとい…

他のライブラリに依存していないわけ

S2DaoをSpringで使いたいという話をよく聞いていたので、それが念頭にあり少なくともSeasarに依存しないようにしようと思いました。で、どうせならということで、まったく他のライブラリに依存しないようにしました。id:c9katayamaさんが、以前T2とSpringとD…

SQLの自動生成機能をもたないわけ

Domaは検索系のSQLを自動生成する機能(APIで組み立てる機能)をもっていません。ではどうするかというと、外部化したSQLファイルとDaoのメソッドをマッピングし、ファイルに記述されたSQLを実行します。外部化したファイル内では、条件分岐をサポートし部分…

SQLのエディタについて

DomaのEclipseプラグインのDoma Toolsですが、今回のバージョンからEclipseのData Toolsのエディタ(Java EEエディションには最初から入っている)からDaoインタフェースにジャンプしたり、Saveのタイミングでビルド(aptをキック)できるようになりました(こ…

Doma 1.0.0 リリース

Doma 1.0.0をリリースしました。sandboxも卒業しました。ダウンロードはこちらからどうぞ。 http://doma.seasar.org/downloads.html Eclipseプラグインの更新サイトをSeasarの標準に合わせて変更していますのでご注意ください。新しいURLはここです。 http:/…

データが存在しなかったら例外をスローさせる機能

次のバージョン(1.0.0)で導入しようと思っています。 どういう機能かというと、Daoで次のように宣言して、 @Select(ensureResult = true) Employee selectByIdAndVersion(Integer id, Integer version); 上のメソッドの検索結果が0件の場合にNoResultExcep…

Domaを利用したアプリをMavenでビルドする方法

ここ数日のエントリで書いたように、Javacのバグが原因でMavenでのコンパイルが失敗します。Antでは成功するのですけどね。AntとMavenで挙動がちがうのは、AntはJavacのエラーコードで判定していて、MavenはJavacによって出力されるメッセージ内容で判別して…

上のJavacのバグへの対応

上のバグのおかげでAntのJavacタスクでビルドするときに、「シンボルが解決できない」といったいかにもエラーのようなメッセージが出力されますが、ビルドは成功するので、バグだとあきらめて無視してしまうのが一番シンプルな解決策です。このメッセージが…

aptで生成されるコードに依存したコードをコンパイルする際のJavacのバグ

Bug Databaseに登録しようと思ったらまさにズバリのものがありました。再現可能なサンプルコードがわかりやすいです。 http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6911972 これ自体は別のバグと重複しているということでクローズされていますが(…

aptを使うためのMavenのバージョン

Mavenの古いバージョンは、apt(Java6のapt)にちゃんと対応できていないので新しめのバージョンを使うのがいいです。少なくとも、2.0.9ではdomaのjarを依存関係に含めてコンパイルしようとすると失敗します(OutOfMemoryErrorが出たりします)。自分が使っ…