山下寛人オフィシャルブログ

オイシックス株式会社 執行役員 システム本部長 山下寛人の公式ブログです。

ORマッピングもあんまり使われてない

昨日オブジェクト指向ドメインモデルがあまり

使われていないようだということを書きましたが、

ORマッピングもあまり使われていないと思います。


オイシックスでは昔から独自ORマッピングEJBJPAHibernate

使ってきました。

今はだいたいHibernateです。


使われないのはOOやDomain Modelと同じことで、OOで作る場合でないと

メリットがないからだと思います。


OOじゃなくてJPAHibernateを使った例をいくつか見たことが

ありますが、何で使っているのかわかりませんでした。

強いて言えばSQLの方言の違いを吸収してくれるとかでしょうか。

でも使うDBは決まっているのでそのメリットが生きるケースは

ほとんどないかと思います。

JOINして集計するものをHQLで書いてみたり、HQLで1行のupdate文を

使ったりなどは理解に苦しみます。

あまり考えずにHibernateを使っているのでしょうね。


Hibernateを使うときにはやはり使い方を覚えないといけないし

マッピングクラスを用意しないといけないなどそれなりにコストが

増える部分があります。

コストを上回るメリットがないとツールを使う意味がありません。

本来的にはOOでクラスを設計し、それを永続化するという考え方でRDBを設計し、

クラスとRDBマッピングするというのがORマッピングの使い方です。

OOで作らなければ面倒なだけです。

だからきっと使われないのでしょう。


しかし昨日の記事のとおりOOには非常に大きなメリットがあります。

そのためオイシックスでは今後もORマッピング、特にHibernate

フル活用していきます。