[Seasar-user:11833] Re: 【 DBFlute 】生成コードと DB 要素のネーミングの対応関係について
kubo
[E-MAIL ADDRESS DELETED]
2007年 11月 28日 (水) 17:30:05 JST
久保です。
佐藤さん、こんにちは
> DBFluteで生成するコードの命名規則について
> 質問させてください。
>
> テーブル名、列名が
>
> 日本語_テーブル
> 日本語_列
>
> のような名前の時に、DBFluteにて生成される
> ソース類では
>
> xxxx日本語テーブル
> xxxx日本語列
>
> のようになると思います。("_"は削除される)
> こうした命名規則を記載した資料などありますでしょうか?
> (S2DAOの資料かもしれません)
すいません、少なくともDBFluteのサイト上には資料は今のところないです。
いずれしっかりしたものを作りたいとは思いますが、
取り急ぎ記述いたします。
例えば、
MEMBER_STATUS というテーブル
MEMBER_STATUS_NAME というカラムがある場合
- - - - - - - - - - - - - - - - - - - - - - - - - - - - -
データベース → Javaのプロパティ / C#のプロパティ
MEMBER_STATUS → memberStatus / MemberStatus
MEMBER_STATUS_NAME → memberStatusName / MemberStatusName
- - - - - - - - - - - - - - - - - - - - - - - - - - - - -
というように"_"は削除されます。
但し、Javaにおいて、M_STATUS というテーブルもしくはカラムの場合は、
JavaBeans規約に従い「mStatus」ではなく「MStatus」になります。
これらは、S2Daoでも全く同じです。
(というかDBFluteはS2Daoの規約に合わせています)
そして関連情報ですが、もしデータベース側が"_"区切りでない場合は、
デフォルトでは以下のようになってしまいます。
- - - - - - - - - - - - - - - - - - - - - - - - - - - - -
データベース → Javaのプロパティ / C#のプロパティ
MemberStatus → memberstatus / Memberstatus
MemberStatusName → memberstatusname / Memberstatusname
- - - - - - - - - - - - - - - - - - - - - - - - - - - - -
動作上の問題はありませんが、何かとやりづらいと思われるので、
DBFluteでは、build-xxx.propertiesに以下のプロパティを設定すると、
特に変換を掛けずに自動生成します。
- - - - - - - - - - - - - - - - - - - - - - - -
# テーブルの名前とプログラム上の名前とが同じか否か
torque.isJavaNameOfTableSameAsDbName = true
# カラムの名前とプログラム上の名前とが同じか否か
torque.isJavaNameOfColumnSameAsDbName = true
- - - - - - - - - - - - - - - - - - - - - - - -
すると以下のようになります。
- - - - - - - - - - - - - - - - - - - - - - - - - - - - -
データベース → Javaのプロパティ / C#のプロパティ
MemberStatus → memberStatus / MemberStatus
MemberStatusName → memberStatusName / MemberStatusName
- - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Seasar-user メーリングリストの案内