[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 メーリングリストの案内