wataメモ

日々のメモをつらつらと書くだけ

[1][Java][O/Rマッパ]Doma

技術系ネタブログの第1弾。

Javaの世界でO/Rマッパは最近どうなっているのかと調べて見つかった物。

 Annotation Processing Tool (apt)を利用したO/Rマッパと開発支援ツールとのこと。とりあえずセットアップをみて設定をする。Java Compiler>Annotation Processingでソース生成先を「.apt_generated」であることを確認。ここの設定は意識したことは無かったがとりあえずデフォルト値だったのでそのままにした。Java Compiler>Annotation Processing>Factory Pathでdoma.jarを指定。Java6で導入されたPluggable Annotation Processingか。んー、これは使える箇所は限定されるが、使える可能性がありそう。しかしソースを自動生成のO/Rマッパと聞くとTorqueを思い出す。色々試したがTorqueはいい印象は持てなかったので、今回も若干の不安がよぎった。

 チュートリアルを試してみるとDoma Toolsをインストールしろとのこと。DaoとSQLファイルの行き来が楽に出来るらしい。create文でテーブルを作って、Entityを作るようだが、Ruby on Rails的にEntityからcreate文とか作ってくれると良い気がした。もしかしてaptの制限で出来ないとかDBの方言対応とかかもしれないので、この技術ネタブログで試してみるのもいいかもしれない。設定ファイル、設定クラスでDB接続情報を作ると。エンティティリスナ、ドメインクラスはとりあえず飛ばしてDaoインターフェースを作る。なるほど、インターフェースの中身を自動生成するパターンか。そして2Way-SQLが使えるようだ。

 これはなかなか面白い。aptを使って開発時に自動生成していることを意識させずに出来るのは爽快だった。しかし、スクリプト言語と違ってJavaはコンパイルを通すためにインターフェースに書かなければならないメソッド定義がやはり気になる。そういうゆう所はS2JDBCの方がいいのかもしれない。