[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 メーリングリストの案内