[Seasar-user:21654] S2JDBC の AutoSelect への includes() と excludes() 実装

Jun Futagawa [E-MAIL ADDRESS DELETED]
2013年 7月 13日 (土) 23:22:21 JST


S2JDBC のコミッタの皆さま

ふたがわ (jfut) です。

S2JDBC の AutoSelect が生成する select 句に、任意のカラム名のみを
生成可能にする includes() と excludes() を実装してみました。
S2JDBC 本体へ取り込んでいただくことはできないでしょうか?

コードとドキュメントのパッチを添付ファイルにてお送りします。
足りないコードやドキュメントがあれば書きます。

例として、

List<Employee> results = 
    jdbcManager
        .from(Employee.class)
        .includes("id", "name", "department.name", "department.address.id")
        .leftOuterJoin("department")
        .leftOuterJoin("department.address")
        .getResultList();

や、

List<Employee> results = 
    jdbcManager
        .from(Employee.class)
        .excludes("id", "name", "department.name", "department.address.id")
        .leftOuterJoin("department")
        .leftOuterJoin("department.address")
        .getResultList();

といった指定で、指定したプロパティ以外は検索結果に含まれなくなります。
これにより、データベースから転送されるデータ量やJVMのメモリ使用量を
減らすことができます。 
特に、たくさんネストして結合するものの、参照する必要がないプロパティが
ある時などに有用だと思います。

よろしくお願いします。

-- 
Jun Futagawa
-------------- next part --------------
テキスト形式以外の添付ファイルを保管しました...
ファイル名: s2tiger-s2jdbc-includes-excludes.patch
型:         text/x-patch
サイズ:     12513 バイト
説明:       無し
URL:        <http://ml.seasar.org/archives/seasar-user/attachments/20130713/11e96100/attachment.bin>
-------------- next part --------------
テキスト形式以外の添付ファイルを保管しました...
ファイル名: seasar2-s2jdbc-includes-excludes.patch
型:         text/x-patch
サイズ:     6353 バイト
説明:       無し
URL:        <http://ml.seasar.org/archives/seasar-user/attachments/20130713/11e96100/attachment-0001.bin>


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