[seasar-s2dao-dev:89] Re: Next S2Dao
出羽 健一
dewa @ tafc.co.jp
2006年 12月 26日 (火) 15:30:19 JST
出羽です。
> ManyToOne(OneToOne)もサポートする。
> ただし、自動的に取に行くのではなく、
> 必要ならアノテーションで明示的に指定する。
> 例えば、前の例で
>
> class Aaa {
> ...
> private Bbb bbb;
> ...
> }
>
> class Bbb {
> ...
> private Ccc ccc;
> ...
> }
>
> class Ccc {
> ...
> }
>
> のようになっている場合、
>
> List<Aaa> find(...);
> ならテーブルAAAのデータのみ。
>
> @Fetch("bbb")
> List<Aaa> find(...);
> ならプロパティのbbbも同時に取得する。
>
> @Fetch("bbb", fetches=@Fetch("ccc")
> List<Aaa> find(...);
> ならプロパティのbbb、プロパティbbbのプロパティcccも同時に取得する。
>
> というのでどうでしょう。
凄くいい方法だと思います。
3人ほど、社内の開発者にも尋ねてみましたが大好評です。
Entity側にアノテーションを付けるやり方だと、
リレーションが静的に決まってしまうので、宜しくないと
前から思っていました。
Entityを呼び出す側のDaoで個別にリレーションの
指定ができる方が、分かりやすくて、強力だと思います。
> ちなみに、Relno系は廃止しようと思っています。
賛成です。テーブルのFKを変更した時に、
ジェネレータと相性が悪いのと、分かりにくいのが理由です。
seasar-s2dao-dev メーリングリストの案内