PofEAA 読書会 (第11回) - Object-Relational Metadata Mapping Patterns

年度末のためか若干少なめ。

Serialized LOB

by かくたにさん

オブジェクトツリーをシリアライズして BLOB や CLOB に格納する。CLOB の場合、XML 形式を使うといいよ。
いつもいつも完全な正規化を行うのではなく、場合によって Serialized LOB とかと使い分けるのが良い。

Metadata Mapping

by id:ogijunさん

コード生成とリフレクションを使う場合の2通りの方法がある。Fowler はコード生成の方を推しているが、実際にはハイブリッドが良いのでは。本書の執筆当初から比べるとリフレクションもだいぶ速くなっているらしい。
また、メタデータの記述方法として XML をあげているが、僕がいまやってるプロジェクトでは Excel のテーブル定義書から出力している。

Query Object

by 小松さん

Hibernate の Criteria は本書の Query に相当する?
現在の僕の意見は、Query Object を使うより、SQL や HQL を使った方が簡単でわかりやすいかなと思う。

Repository

by id:t-wadaさん

t-wada さんはいつも坦々と話を進めるけれど、なぜか聞いていて説得力があるから不思議。
で、Repository だけれど、一見 Data Gateway すなわち DAO と似ているけれど、思想が違うということらしい。DAO はデータソースレイヤに属するが、Repository はドメインレイヤに属する。また、DAO はどう実行するかを意識するが、Repository は宣言的に記述する。
後半は DDD (Domain Driven Design) の紹介もあり、DDD すげぇという雰囲気に。確かに面白かったけれど、技術者の理解度やパフォーマンスとか考えると、僕はちょっとまだ実際のプロジェクトで使うのに対しては懐疑的。DDD のメリットとしては、ドメイン寄りの人が理解しやすい(?)ということかなぁ。