JavaにもRailsのActiveRecordと同様のOSSフレームワークがあったねの。
「ActiveObjects」
https://activeobjects.dev.java.net/
ActiveRecordに触発されて作られた軽量Java O/Rマッパ「ActiveObjects」|gihyo.jp … 技術評論社
1つのJarだけで設定ファイルレスと、導入が簡単なのは魅力だ。
基本的にEntityというインタフェースを継承したインターフェースを作成する。その際、そのインターフェース名はテーブル名と同じ名前を付ける。これだけで、基本的なCRUDができるようなると。
何でインターフェースだけで?と思ったら、どうもActiveObjectsは、DynamicProxy利用してオブジェクトを生成するので自分で実装クラスを作る必要が無いらしい。(作成するのも可)。
カラム名とフィールド名が異なる場合等はアノテーションにより指定も可能と。
でも、データアクセスする際のメソッドにロジックを入れ込みたいときは?
ActiveObjectsの変態的な考え方にまたまた驚愕 - Fly me to the Juno!
インターフェースにアノテーションで実装クラスを教えてあげて、そこに同様のメソッドが定義されていれば、そっちが呼ばれるらしい。何か、インターフェースと実装の関係が、今まで開発してきたスタイルとギャップがあってちょっと面白い。
結構発想が面白いなって感じる。あと軽量なのが良いっすねー。