- ベストアンサー
O/Rマッパーの選定
既存のスタンドアロンアプリにO/Rマッパーを使ってDBとの接続を行おうと考えているのですが、 既存のスタンドアロンアプリの構成を変えず簡単に設定できるO/Rマッパーは何かありますでしょうか? もしよろしければ教えてください。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
構成を変えず、というもののニュアンスがちょっとわからないのですが……、一切、新しいディレクトリなどを追加しない、ということでしょうか。あるいは、単に「既にあるファイルの構成を変えたくない」ということでしょうか。 既にあるものを変えずに追加できる、というのであれば、大抵のものは使えるように思えます。一般に、もっとも広く使われているHibernateあたりを選択するのが妥当じゃないでしょうか。これはスタンドアロンでも使えますし、新たに設定ファイル類とそれを保管するディレクトリを用意する必要はありますが、作成済みのクラス構成を変更する必要などはありません。 ただ、「簡単に」かどうかは、ちょっと……。個人的に、XMLの設定ファイルを多用するものは苦手なので……。そのへんに拒否反応を示さないなら使いやすいと思います。 公式ドキュメント http://docs.jboss.org/hibernate/orm/3.5/reference/ja-JP/html_single/#tutorial-firstapp ただ、Hibernateは巨大なんですよね……。正直、最近はそのバカでかさに辟易しつつあります。シンプルなORマッパーとしては、persistというものがあります。使い勝手もよさそうで、個人的にこっちに切り替えようかと思ってるところです。 GitHub https://github.com/rufiao/persist
その他の回答 (1)
- teketon
- ベストアンサー率65% (141/215)
O/Rマッパーは、RDBで表現したデータとObjectで表現したデータの差異(インピーダンスミスマッチ)を埋めるためのものです。 なにか変更が必要でO/Rマッパーが必要ならば、構成は大きく代わるはずです。 また、ちょっとした修正ならばO/Rマッパーは不要で、既存アプリのアーキテクチャに沿った修正をした方が、 単体テストも再利用が見込めますよ。 # chiiba_kunさんの紹介しているpersistはシンプルさが素晴らしいですね。 最後に、O/Rマッパーを使ってDBとの接続を行おうと考えているとのことですが、 トランザクションの管理方法が大きく変更となるはずです。 この場合、表面はそのまま、中身はほぼ作り直しで、大改修ですよ。