0


ear プロジェクトに奇妙な問題があります。エンティティ クラスに正しい注釈を付けました。

@Entity
@Table(name = "PRODUCTS")

しかし、glassfish 3.1.2.2 にアプリケーションをデプロイすると、JPA が小文字のテーブルを作成していることに気付きました

私はEclipseLink 2.4.1を使用しています

私を助けてください。

4

2 に答える 2

1

Brian Vosburgh のコメントから解決策を得ました。MySQL の Windows バージョンでは、テーブルの名前は小文字に設定されています。Linux では、デフォルトでこの構成は無効になっており、JPA によって設定されたテーブルの名前は変更なしで MySQL に適用されます。

Linux のように Windows で動作させるには、次の行を追加します。

lower_case_table_names=0

助けてくれてありがとう、特にブライアン・ボスバーグ

于 2013-03-11T08:58:42.717 に答える
0

私はすべての違いを生むプロパティを見つけました。EclipseLink ウィザード (テーブルからエンティティを生成) の 3 番目のページ (デフォルトのカスタマイズ) で、[オプションの JPA アノテーションと DDL パラメーターを常に生成する] オプションをオンにしました。Entityこのオプションは、クラスに以下の注釈を書き込みます。

@Table(name="TableName")

正しいテーブル名の大文字と小文字が使用されます。

于 2014-01-30T16:01:06.520 に答える