[Seasar-user:12054] Re: S2JDBCのEntityアノテーションのname属性
Koichi Kobayashi
[E-MAIL ADDRESS DELETED]
2007年 12月 12日 (水) 15:15:15 JST
小林 (koichik) です.
Date: Wed, 12 Dec 2007 14:51:45 +0900
From: "kiyoshi hosoda" <[E-MAIL ADDRESS DELETED]>
To: [E-MAIL ADDRESS DELETED]
Subject: [Seasar-user:12052] Re: S2JDBCのEntityアノテーションのname属性
> ・@Entityのname属性を指定する → name属性の値がエンティティ名
> ・テーブル名が指定されない → エンティティ名をアンダースコア記法に変換したものがテーブル名
>
> このケースではなにか違和感を感じるというだけです。漠然としていてすみません。
エンティティ名というのは Java の世界で使う
識別子であり,RDBMS の世界で使う識別子では
ありません.
そこを誤解しているために違和感を憶えるのでは
ないでしょうか.
エンティティ名が Java の世界の識別子ということは,
@Entity(name="EMPLOYEE")
や
@Entity(name="FOO_BAR_BAZ")
のような指定はあり得なくて,
@Entity(name="Employee")
であったり,
@Entity(name="FooBarBaz")
であるということです.
それを RDBMS の世界の識別子,つまりテーブル名と
する際に,S2JDBC はキャメル記法からアンダー
スコア区切りの識別子に変換するのがデフォルトと
いうことです.
とはいえ,EMPLOYEE が E_M_P_L_O_Y_E_E は
ちょっとどうかという気はします.
大文字が続く場合は _ を挿入しなくていいかも.
--
<component name="koichik">
<property name="fullName">"Koichi Kobayashi"</property>
<property name="email">"[E-MAIL ADDRESS DELETED]"</property>
<property name="blog">"http://d.hatena.ne.jp/koichik"</property>
</component>
Seasar-user メーリングリストの案内