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

Junichi Kato [E-MAIL ADDRESS DELETED]
2007年 9月 3日 (月) 18:21:26 JST


久保さん,
加藤です.

以下の件についてもう少し教えてくださいませ.

> 
> > 今度は,Oracleの30文字以上の識別子が長すぎるという問題が浮上しました.
> > UserAccountConfigByUserAccountIdAsOneで36文字になるようで,,,
> > これを30文字以内にするにはテーブル名やカラム名を短くするしかないですかね...
> > 短くしても,Java側はそのままにできますかね?COLUMNアノテーションで.
> > アイデアがあれば教えてください.
> 
> こちらまず、JOIN時のテーブルのAlias名に関しては、
> 「[Seasar-user:7146] Re: [DBFlute]join 時の別名付与について」
> で、解決(回避)することが可能です。
> 
> =============================================================
> torque.multipleFKPropertyMap = map:{ \
>     ; USER_ACCOUNT_CONFIG = map:{ \
>         ; USER_ACCOUNT_ID = map:{columnAliasName = uaId} \
>     } \
> }
> =============================================================

SELECT
<snip>
FROM
    ADMINISTRATOR_MASTER left outer join ADMINISTRATOR_CONFIG AdministratorConfigAsOne on ADMINISTRATOR_MASTER.ADMINISTRATOR_ID = AdministratorConfigAsOne.ADMINISTRATOR_ID left outer join USER_ACCOUNT_MASTER UserAccountMasterByUserAccountId on ADMINISTRATOR_MASTER.USER_ACCOUNT_ID = UserAccountMasterByUserAccountId.USER_ACCOUNT_ID left outer join USER_ACCOUNT_CONFIG UserAccountConfigByUserAccountIdAsOne_n2 on UserAccountMasterByUserAccountId.USER_ACCOUNT_ID = UserAccountConfigByUserAccountIdAsOne_n2.USER_ACCOUNT_ID
WHERE
    UserAccountConfigByUserAccountIdAsOne_n2.ACCOUNT_STATUS = ? AND
    AdministratorConfigAsOne.DISABLE = ? AND
    ADMINISTRATOR_MASTER.ADMINISTRATOR_CODE = ?

このようなクエリで
UserAccountMasterByUserAccountIdを,UserAccountMasterByUaIdにするには,

; USER_ACCOUNT_MASTER = map:{ \
	; USER_ACCOUNT_ID = map:{columnAliasName = uaId} \
} \

でよいでしょうか?


> 
> 
> Select句のColumnのAlias名に関しては
> 「[Seasar-user:8432] [DBFlute] 外部TBL結合時の文字数OVERについて」
> にて、議論されていますが、現状根本な解決策はなく、
> 別の方法による回避が可能です。

確かにこちらも30文字越えているようです...
悩ましい問題ですねぇ...
こちらのメールも確認してみます.


> 
> 
> _______________________________________________
> Seasar-user mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/seasar-user

───────────────────────────────
 株式会社 グランテック
 代表取締役社長
 加藤 潤一 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 メーリングリストの案内