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