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

Koichi Kobayashi [E-MAIL ADDRESS DELETED]
2008年 10月 27日 (月) 17:30:34 JST


小林 (koichik) です.

Date:    Mon, 27 Oct 2008 17:00:22 +0900
From:    山田 祐己 <[E-MAIL ADDRESS DELETED]>
To:      [E-MAIL ADDRESS DELETED]
Subject: [Seasar-user:16142] Re: [s2jdbc]のSQL自動生成による操作で格納Classを変更したい

> 今回は更新を前提の取得でしたので、複数件のケースでもご案内の方法で
> 記述できそうですが、単に取得のみで異なるクラスに置き換える場合、
> 複数件の例ですと、何千、何万の入れ替えではパフォーマンス的に気になります。
> 
> 単なる取得だけでも、やはり上記の様な記述となりますでしょうか。
> 異なる方法も御座いましたらご案内を頂ければ幸いです。

S2JDBC のエンティティはテーブルと 1 対 1 に
対応するのが原則ですが,今回のケースはそこから
外れているので,SQL 自動生成 (AutoSelect) で
扱うのは不適切です.

この場合はエンティティである Foo を Dto のように
使って,SQL または SQL ファイル指定の問い合わせを
するのがいいのではないかと思います.

SQL で全件取得ならこんな感じ.

List<Foo> fooList = jdbcManager
  .selectBySql(Foo.class, "select * from Bar")
  .getResultList();

詳細は以下を参照してください.

http://s2container.seasar.org/2.4/ja/s2jdbc_manager_sql.html
http://s2container.seasar.org/2.4/ja/s2jdbc_manager_sqlfile.html


-- 
<component name="koichik">
    <property name="fullName">"Koichi Kobayashi"</property>
    <property name="email">"[E-MAIL ADDRESS DELETED]"</property>
    <property name="blog">"http://d.hatena.ne.jp/koichik"</property>
</component>



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