[Seasar-user:12052] Re: S2JDBCのEntityアノテーションのname属性

kiyoshi hosoda [E-MAIL ADDRESS DELETED]
2007年 12月 12日 (水) 14:51:45 JST


細田です。

On Dec 12, 2007 2:15 PM, Toshihiro Nakamura
<[E-MAIL ADDRESS DELETED]> wrote:
> > テーブル名は@Tableのname属性で指定すべき、というのは納得なんですが、
> > エンティティのアノテーションはできるだけJPA標準のほうが良くないでしょうか?
>
> 個人的には、規約があったほうが
> 便利なのでこのままでいいんじゃないかなぁと思います。

CoCは便利なので必要だと思います。それについてはまったく同意します。

・@Entityのname属性を指定しない → パッケージ名を除いたクラス名がエンティティ名
・テーブル名が指定されない → エンティティ名をアンダースコア記法に変換したものがテーブル名

この流れは違和感を感じないのですが、

・@Entityのname属性を指定する → name属性の値がエンティティ名
・テーブル名が指定されない → エンティティ名をアンダースコア記法に変換したものがテーブル名

このケースではなにか違和感を感じるというだけです。漠然としていてすみません。
テーブル名を指定したいならば@Tableのname属性に書くべきというのは、まったく持って
その通りですので、そちらで指定することにします。

> もし、アンダースコア記法に変換したくない場合は、
> PersistenceConventionImplコンポーネントの
> noNameConversionプロパティをtrueにしたり、
> fromEntityNameToTableNameメソッドを適切に実装した
> クラスを使用したりすることで対応できます。

はい、それはわかっています。convention.diconも確認しましたし、サイトにも書いて
ありましたので、ソースも読みました。ご指摘ありがとうございます。


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