[Seasar-user:16138] Re: [s2jdbc]のSQL自動生成による操作で格納Classを変更したい

Yasuo Higa [E-MAIL ADDRESS DELETED]
2008年 10月 27日 (月) 15:17:37 JST


ひがです。

> 山田と申します。
> お世話になります。
> 
> List<Foo> list = jdbcManager.from(Baa.class).id(id).getResultList();
> 
> の様に、検索の際のfromは「Baa型」で、格納先を「Foo型」に
> と言うことは可能でしょうか。
> (上記の通りの記載ではコンパイルエラーになりますので、
>  何か方法が有るのでしょうかと言う質問です)
> 
> Baa型とFoo型の間に、依存関係は有りません。
> ただ、Foo型はBaa型のプロパティをすべて含んでおり、
> Foo型のみに存在するプロパティが在ります。
> 
> やりたいことは、「Baa」テーブルを検索して、
> その結果にプロパティを追加して、「Foo」テーブルに更新を行いたいと言う。
> イメージです。
> Baa型とFoo型どちらにも、@Entityアノテーションを付けています。
> 
id()を使っているので、一件返すと仮定しますね。

Baa baa = jdbcManager.from(Baa.class).id(id).getSingleResult();
Foo foo = Beans.createAndCopy(Foo.class, baa).execute();

のようにBeansを途中に入れることによって、同名のプロパティを
コピーすることができます。

複数件の場合は、
List<Foo> fooList = new ArrayList<Foo>();
for (Baa baa : baaList) {
    Foo foo = Beans.createAndCopy(Foo.class, baa).execute();
    fooList.add(foo);
}

よろしくお願いします。


Seasar-user メーリングリストの案内