[Seasar-user:10270] [DBFlute] 識別子が長すぎるを解決したい

Junichi Kato [E-MAIL ADDRESS DELETED]
2007年 9月 3日 (月) 13:49:24 JST


久保さん,
加藤です.

On Mon, 03 Sep 2007 13:06:51 +0900
kubo <[E-MAIL ADDRESS DELETED]> wrote:

> 久保です。
> 
> > > <A>
> > > USER_ACCOUNT_MASTERの自動生成されたEntityにて、
> > > S2Daoの「_RELNO」・「_RELKEY」のアノテーションが、
> > > 幾つ存在するか、RELNOの値は何か、を確認して頂けますでしょうか?
> > 
> >     /** RELNO of foreign table for s2dao. */
> >     public static final int userAccountMasterByUserAccountId_RELNO = 0;
> > 
> >     /** RELKEYS of foreign table for s2dao. */
> >     public static final String userAccountMasterByUserAccountId_RELKEYS = "USER_ACCOUNT_ID:USER_ACCOUNT_ID";
> >     
> >     
> >     /** RELNO of foreign table for s2dao. */
> >     public static final int userAccountMasterByCreaterId_RELNO = 1;
> > 
> >     /** RELKEYS of foreign table for s2dao. */
> >     public static final String userAccountMasterByCreaterId_RELKEYS = "CREATER_ID:USER_ACCOUNT_ID";
> >     
> >     
> >     /** RELNO of foreign table for s2dao. */
> >     public static final int userAccountMasterByUpdaterId_RELNO = 2;
> > 
> >     /** RELKEYS of foreign table for s2dao. */
> >     public static final String userAccountMasterByUpdaterId_RELKEYS = "UPDATER_ID:USER_ACCOUNT_ID";
> 
> 
> 「userAccountMasterByUserAccountId」は、
> 
> 「USER_ACCOUNT_MASTERのUSER_ACCOUNT_ID」
>> 「USER_ACCOUNT_MASTER以外のどこかのテーブルのUSER_ACCOUNT_ID」
> 
> でしょうか?

どこにも関連はないはずなんですが,,,作られていますね.

> 
> ./schema/project-schema-[project].xmlを見ると
> JDBCでリバースした情報が見れるのですが、USER_ACCOUNT_MASTERの
> FK情報がどのように定義されているか見せて頂けませんでしょうか?

このようになっております.

    <table name="USER_ACCOUNT_MASTER" schema="EXAMPLE" type="TABLE">
        <column dbType="NUMBER" javaType="java.math.BigDecimal"
            name="USER_ACCOUNT_ID" primaryKey="true" required="true"
            size="20" type="DECIMAL"/>
        <column dbType="VARCHAR2" javaType="String" name="USER_CODE"
            required="true" size="255" type="VARCHAR"/>
        <column dbType="VARCHAR2" javaType="String"
            name="USER_PRIVATE_CODE" required="true" size="255" type="VARCHAR"/>
        <column dbType="CHAR" default="'N' " javaType="String"
            name="TEST_TYPE" required="true" size="1" type="CHAR"/>
        <column dbType="NUMBER" javaType="java.math.BigDecimal"
            name="CREATER_ID" required="true" size="20" type="DECIMAL"/>
        <column dbType="NUMBER" javaType="java.math.BigDecimal"
            name="UPDATER_ID" required="true" size="20" type="DECIMAL"/>
        <column dbType="DATE" javaType="java.util.Date"
            name="CREATE_DATE" required="true" type="DATE"/>
        <column dbType="DATE" javaType="java.util.Date"
            name="UPDATE_DATE" required="true" type="DATE"/>
        <foreign-key foreignTable="USER_ACCOUNT_MASTER" name="FK_USER_ACCOUNT_MASTER1">
            <reference foreign="USER_ACCOUNT_ID" local="CREATER_ID"/>
        </foreign-key>
        <foreign-key foreignTable="USER_ACCOUNT_MASTER" name="FK_USER_ACCOUNT_MASTER2">
            <reference foreign="USER_ACCOUNT_ID" local="UPDATER_ID"/>
        </foreign-key>
        <unique name="UQ_USER_ACCOUNT_MASTER1">
            <unique-column name="USER_PRIVATE_CODE" position="1"/>
        </unique>
        <unique name="UQ_USER_ACCOUNT_MASTER2">
            <unique-column name="USER_CODE" position="1"/>
        </unique>
    </table>

> 
> 
> > > <B>
> > > build-[project].propertiesにて
> > > 「torque.isAvailableChildNoAnnotationGenerating」
> > > という設定をtrueにしていませんでしょうか?
> > 
> > trueになっていました.
> > defaultはfalseでしたね.ちょっと指定した記憶がないのですが,これはfalse
> > のほうがよいでしょうか?
> 
> そうですね、こちらfalseでお願いします。
> 将来の仕様のための設定で現状は利用しません。
> これをfalseによって解決するかはちょっと微妙なのですが...
> (すいません、FullPropertiesのサンプルがtrueになってしまっていたようです)

falseしたら,問題が解決されました^^;


今度は,Oracleの30文字以上の識別子が長すぎるという問題が浮上しました.
UserAccountConfigByUserAccountIdAsOneで36文字になるようで,,,
これを30文字以内にするにはテーブル名やカラム名を短くするしかないですかね...
短くしても,Java側はそのままにできますかね?COLUMNアノテーションで.
アイデアがあれば教えてください.

───────────────────────────────
 株式会社 グランテック
 代表取締役社長
 加藤 潤一 Junichi Kato

〒154-0012
東京都世田谷区駒沢2-16-1 サンドー駒沢ビル4F
TEL 050-5538-2383  FAX 03-3487-7211
HP : http://www.grandtech.jp/
BLOG : http://d.hatena.ne.jp/j5ik2o/
E-MAIL : [E-MAIL ADDRESS DELETED]




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