[Seasar-user:17604] [S2JDBC]DTO(privateフィールド)使用時のDate型への値の受け渡しについて

A.Watanabe [E-MAIL ADDRESS DELETED]
2009年 6月 3日 (水) 14:25:38 JST


渡辺と申します。

初投稿となります。
何か至らぬ点がありましたらご指摘頂ければ幸いです。

早速ですが掲題の件にて質問をさせて頂きたいと思います。

【環境】
s2-tiger-2.4.37
jdk1.5.0_18
Oracle11g

【実行したい事】
・複数TableにまたがるSQL文(AutoSelectでは難しい為、sqlファイル使用)を作成、DTOへ値を取得
・DTO内にはjava.util.Date型を保持したい(対応するDB側のカラムはDate型)
・getterに特殊な処理を挟みたい為、フィールドはprivateとしたい

【問題事項】
対象のDate型のフィールドに値が入らない。
(setterが呼ばれない)

【現在の処理】
■dto
public class XxxDto {
    private long id;
    private long createUserId;
        ・
        ・
    private Date updateDate
        ・
        ・
        ・
    /**
     * updateDateを返します。
     * @return String updateDate
     */
    public String getUpdateDate() {
        String updateDateStr = "";
        //this.updateDateを特定の処理を通し、フォーマット変更してString型に変換
            ・
            ・
            ・
        return updateDateStr;
    }
    /**
     * updateDateをセットします。
     * @param Date updateDate
     */
    public void setUpdateDate(Date updateDate) {
        this.updateDate = updateDate;
    }
        ・
        ・
}

■Service側
List<XxxDto> list = jdbcManager.selectBySqlFile(XxxDto.class, sqlPath,
bindParam).getResultList();

■試した事
・DTOの対象のDate型フィールドをpublicに
=>問題なく値が入るようです。
・DTOの対象のDate型フィールド(及びsetter)をString型に
=>問題なく値が入るようです。

問題事項に関しまして何か解決策、
もしくは実行したい事を満たした処理の代替案等がありましたらご教授頂ければと思います。

よろしくお願い致します。


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