Wicket-Guiceに合うORMは?
Wicket-Guiceが出来ましたね。
まあ、詳しくは矢野さんの記事読んでください。
ここのまとめでも書かれているように、GuiceはWicketのようにJavaの利点を最大限に活用したDIコンテナなので、Wicketとの相性はとてもいいはずです。
ってことで、標準ガチガチ準拠のWebアプリを作成しなければいけない場合以外は、もう、Wicket-Guiceで僕の中では確定です。
言語がJavaである場合は、ですが(笑)
で、こうなると、パーシステンス層をどうしましょ?ってことになりますよね。
S2Wicket-Seasar2ならばS2Daoで確定でいいし、Wicket-SpringならSpringとの連携がしやすいもの(例えばHibernate)でいいでしょうし、Wicket-javaeeならJPA準拠のORMならなんでもいいでしょう。
しかし、せっかくWicketとGuiceというXMLがまったく要らない構成できたんだから、パーシステンス層もXMLなしのものにしたくないですか?
というわけでいくつか選択肢を。
- BeanKeeper(旧SimplePersistenceForJava)
- pBeans
- Mr.Persister
- NeoDatis ODB
これらは、全てXMLによる設定ファイルが必要ありません。
っていうか、BeanKeeper、pBeansに至ってはDB設計すら必要ありませんし、NeoDatis ODBはRDBではなくOODB(オブジェクトデータベース)なので、DB設計という概念すらありません。
4つともに言えることが、使い方がとても簡単であること。
ただし、簡単であるが故に犠牲にしている部分もあって、BeanKeeperとかpBeansは自動で生成されたテーブルにこちらが意図しないORMが内部的に使うカラムが作成されちゃって見苦しいし、恐らくパフォーマンス的にも他のORMに比べて見劣りするのではないかと想像します(パフォーマンスを売り文句にしてないので)。
NeoDatis ODBは培ってきたRDBの知識が活かせません。ってか導入するよう上司(or顧客)を説得できるとは思えません・・・。
そこでMr.Persisterですよ。
こいつは知名度はいまいちですが、更新系でHibernateよりも圧倒的に優れたパフォーマンスをはじき出しています。DB設計をしなくてはいけないというのは、逆に言うとテーブルやカラムの構成を自分の思うとおりにできるということだし、なんといっても検索系をチューニングしたいときに、素のSQLが使えます。HibernateのHQLに腹を立てる毎日とはもうおさらばです。
というわけで僕的には、Mr.Persisterが一押しです。
現在、次の安定版である4.0.0の前の最後のβ版である3.9.9が出てる状態です。
WicketもApache Incubatorを卒業することが決定したのでWicket1.3が出るのももうすぐでしょう。
というわけで、Mr.Persister4.0.0とWicket1.3が出たら、Wicket-Guice-Mr.PersisterというXMLを(web.xml以外)一切使わない構成でまた何か作ってみようと思います。
Comments(0)