[Seasar-user:835] Re: S2JDBC :S2-2.0.10のBeanListについて
B isid.co.jp Yasuo Higa
higa
2004年 6月 30日 (水) 10:28:29 JST
<[E-MAIL ADDRESS DELETED]> の、
"[Seasar-user:834] Re: S2JDBC :S2-2.0.10のBeanListについて" において、
"jazzatny <[E-MAIL ADDRESS DELETED]>"さんは書きました:
ひがです。
> 佐藤です。試してみました。
>
> カラム名にアンダーバーを含むテーブルを作成
>
> 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
>
public static final String TABLE = "EMP_BAR";
を追加すると大丈夫だと思います。
> > if (!pt.isPersistent() || !columnNames.contains(pt.getColumnName())) {
> > continue;
> > }
> でcontinueされてしまっているようです(pt.isPersistent()がfalse)。
>
テーブル名が実際にないものなので、そのテーブルに含まれるカラムも見つからず、
永続化の対象じゃないとみなされているようです。
でも、SELECTは永続化とは無関係なため、!pt.isPersistent()は
次のバージョンからはずします。
TABLEアノテーションを書いてもらえれば今のバージョンでも多分大丈夫。
---
Yasuo Higa <[E-MAIL ADDRESS DELETED]>
INFORMATION SERVICES INTERNATIONAL-DENTSU,LTD.
Seasar-user メーリングリストの案内