[seasar-dotnet:1162] DBFlute:スキーマ情報がおかしく取得される

小林貴生 [E-MAIL ADDRESS DELETED]
2008年 11月 21日 (金) 19:39:57 JST


しばらく前にご質問させていただいた小林と言います。
今回、質問と言うかご報告がございまして、メールさせていただきました。

環境
WindowsXP
JDK 1.5.0.16
dbflute 0.8.5
接続先のDB Oracle 11g


さて、現象ですが、
・テーブルのカラムの一番最後が、デフォルト=0 が設定されているNUMBER型。

の時に、取得したスキーマの情報が

        <column comment="登録時間" dbType="DATE" default="SYSDATE"
            javaType="DateTime?" name="REGIST_DATE" type="DATE"/>  
        <column comment="更新オペレータID" dbType="NUMBER" javaType="decimal?"
            name="UPDATE_OPERATOR_ID" size="10" type="DECIMAL"/>
        <column comment="更新時間" dbType="DATE" javaType="DateTime?"
            name="UPDATE_DATE" type="DATE"/>
        <column comment="削除フラグ" dbType="NUMBER" default="0&#xa;"
            javaType="decimal?" name="DEL_FLG" size="1" type="DECIMAL"/>
    </table>

のようになり、余計な「&#xa;」が付く。と言う現象です。

これが付くとコンパイルが通りません。(逆に、全て無くせば正常にコンパイル通ります。)
ちなみにDDLは、

CREATE TABLE HOGE.D_APP_NOWON
(
    APP_NOWON_ID             NUMBER(10,0) NOT NULL,
    APPROACH_DATE                  CHAR(8),
    APPROACH_TIME                  CHAR(6),
    ANKEN_ID                       NUMBER(10,0) NOT NULL,
    STAFF_ID                       NUMBER(10,0) NOT NULL,
    REGIST_OPERATOR_ID             NUMBER(10,0),
    REGIST_DATE                    DATE DEFAULT SYSDATE,
    UPDATE_OPERATOR_ID             NUMBER(10,0),
    UPDATE_DATE                    DATE,
    DEL_FLG                        NUMBER(1,0) DEFAULT 0,

この DEL_FLG は一番最後のカラムです。

このテーブルを DEL_FLG を一番最後にしないように作り変えると
default="0" と言うように正常に出ました。コンパイルも通ります。

もしかして、不具合なのかと思いご報告した次第です。
間違っていたらごめんなさい。



以上、よろしくお願いいたします。

小林貴生



seasar-dotnet メーリングリストの案内