1:Nマッピング

1件ずつ1:NマッピングがされるならORマッピングされてもうれしくないよなぁと個人的にも思う。

ヘッダ・明細をJoinしたものから自動的にヘッダ・明細形式のオブジェクトに変換してくれるかヘッダをselectした後にin句でselectかけてくれるとかヘッダへの検索条件を明細にも自動に付加してselectかけてくれるならまだしも、大量のselect文が発行されてしまう単純1:Nマッピングはログも読みにくいし速度的にも問題になる(hibernateはそれが嫌だった。最近は知らないけど改善されているのであろうか)。in句は引数に指定できる個数がDBの実装依存Oracleだと1000)だったりするけど、そこら辺をフレームワーク側が吸収してくれるとうれしい。

[追記] すでに話は出ている模様。これは良いかも。
http://ml.seasar.org/archives/seasar-s2dao-dev/2006-December/000078.html

そういえば、階層問い合わせをサポートしてるO/Rマッパーって存在しているのだろうか。まぁ、Java側でUnilityクラス経由で階層化するという手もあるけど。