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

kubo [E-MAIL ADDRESS DELETED]
2007年 9月 3日 (月) 19:09:06 JST


久保です。

> 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} \
> } \

この場合、ADMINISTRATOR_MASTERからUSER_ACCOUNT_MASTERへのFK
なので、UserAccountMasterByUserAccountIdの「UserAccountId」は
ADMINISTRATOR_MASTERのUSER_ACCOUNT_IDを示します。

なので、

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

となります。




#
# OracleでMultipleFK使うとこの点がいつも悩みますね...
# 連番で内部解決するとかの根本的解決も
# 検討したほうがいいかもしれませんね
#





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