[Seasar-user:834] Re: S2JDBC :S2-2.0.10のBeanListについて

B interlink.or.jp jazzatny jazzatny
2004年 6月 30日 (水) 06:23:15 JST


佐藤です。試してみました。

カラム名にアンダーバーを含むテーブルを作成

       CREATE TABLE
	EMP_BAR(EMP_NO NUMERIC(4) NOT NULL PRIMARY KEY,
            E_NAME VARCHAR(10),
            JOB VARCHAR(9),
            MGR NUMERIC(4),
            HIRE_DATE DATE,
            SAL NUMERIC(7,2),
            COMM NUMERIC(7,2),
            DEPT_NO NUMERIC(2))

データを追加
      INSERT INTO EMP_BAR
         VALUES(7369,'SMITH','CLERK',7902,'1980-12-17',800,NULL,20)

Employeeクラスに_COLUMN定義を追加

       public static final String empno_COLUMN = "EMP_NO";
       public static final String ename_COLUMN = "E_NAME";
       public static final String hiredate_COLUMN = "HIRE_DATE";
       public static final String deptno_COLUMN = "DEPT_NO";

SelectBeanList.diconのSQLを変更

       SELECT emp_no, e_name, job, mgr, hire_date,
              sal, comm, dept_no FROM emp_bar

SelectBeanListClientを実行すると、

      DEBUG 2004-06-30 06:06:54,703 [main]
       SELECT emp_no, e_name, job, mgr, hire_date,
              sal, comm, dept_no FROM emp_bar
      DEBUG 2004-06-30 06:06:54,937 [main] 物理的なコネクションを取得しまし
た
      DEBUG 2004-06-30 06:06:54,937 [main] 論理的なコネクションを取得しまし
た
      DEBUG 2004-06-30 06:06:55,046 [main] 論理的なコネクションを閉じました
      0, null, null, null, null, null, null, 0
      DEBUG 2004-06-30 06:06:55,046 [main] 物理的なコネクションを閉じました

どうもうまくいかないのですが、
AbstractBeanResultSetHandler#createRow(ResultSet rs, Set columnNames)
の
> if (!pt.isPersistent() || !columnNames.contains(pt.getColumnName())) {
>  continue;
> }
でcontinueされてしまっているようです(pt.isPersistent()がfalse)。

なにか勘違いしているでしょうか。




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