世界線航跡蔵

Mad web programmerのYuguiが技術ネタや日々のあれこれをお送りします。

2005年07月18日

Hibernate3のDetachedCriteria

Hibernate3で導入された機能のうち、私が差し当たって一番注目しているのはDetachedCriteriaだ。Annotationも興味深いけれど、設計の方向性としてちょっと疑問を感じる部分が無いではないのと、業務での開発がTigerに移行するまでもうしばらくかかるから、後回し。

さて、DetachedCriteriaだ。OOPLにおけるデータ検索APIとしはて、これがあって然るべきだったんだよなー。うんうん。検索っていうものをビジネスロジックにおける一過程に過ぎないと捉えれば、確かにcriteriaはセッションに依存したテンポラリな存在であっていい。多分これが従来のCriteria Queryの立場で、HQL QueryをOO的にする薄いラッパーみたいなものに過ぎなかった。

Javadocには単に「セッションが手に入らないときでもCriteriaを構築する必要がある場合」に使うって簡潔に書いてある。確かに、機能だけ見ればこれはSerializableだし、セッションを超えたレベルでCriteriaを持ち運び、使用して、また持ち運びっていうそういう使い方をするものに過ぎない。でも、単にライフサイクルの設計が悪い場合やフレームワークの都合上やむを得ない場合を除けば、この機能が必要になる場合ってどういう場合だろう。それって、検索条件って言うもの自体に操作対象としての重要性があるような場合において、こういう機能が必要になるんじゃ無かろうか。検索条件っていうものが、トランザクションを超えて、セッションを超えて、永続化の対象にすらなりうるような場合に。 うまくいえないのだけれど、私はDetachedCriteriaに何か「高階性」を感じている。きっとそういうものなんだろう。もう少し使い込んでみれば、もう少しはっきりしてくるかも知れない。

トラックバック

http://yugui.jp/articles/219/ping

現在のところトラックバックはありません

コメント

blog comments powered by Disqus

ご案内

前の記事
次の記事

タグ一覧

過去ログ

  1. 2016年07月
  2. 2016年01月
  3. 2015年09月
  4. 2015年08月
  5. 過去ログ一覧

フィード

フィードとは

その他

Powered by "rhianolethe" the blog system