ear プロジェクトに奇妙な問題があります。エンティティ クラスに正しい注釈を付けました。
@Entity
@Table(name = "PRODUCTS")
しかし、glassfish 3.1.2.2 にアプリケーションをデプロイすると、JPA が小文字のテーブルを作成していることに気付きました
私はEclipseLink 2.4.1を使用しています
私を助けてください。
ear プロジェクトに奇妙な問題があります。エンティティ クラスに正しい注釈を付けました。
@Entity
@Table(name = "PRODUCTS")
しかし、glassfish 3.1.2.2 にアプリケーションをデプロイすると、JPA が小文字のテーブルを作成していることに気付きました
私はEclipseLink 2.4.1を使用しています
私を助けてください。
Brian Vosburgh のコメントから解決策を得ました。MySQL の Windows バージョンでは、テーブルの名前は小文字に設定されています。Linux では、デフォルトでこの構成は無効になっており、JPA によって設定されたテーブルの名前は変更なしで MySQL に適用されます。
Linux のように Windows で動作させるには、次の行を追加します。
lower_case_table_names=0
助けてくれてありがとう、特にブライアン・ボスバーグ
私はすべての違いを生むプロパティを見つけました。EclipseLink ウィザード (テーブルからエンティティを生成) の 3 番目のページ (デフォルトのカスタマイズ) で、[オプションの JPA アノテーションと DDL パラメーターを常に生成する] オプションをオンにしました。Entity
このオプションは、クラスに以下の注釈を書き込みます。
@Table(name="TableName")
正しいテーブル名の大文字と小文字が使用されます。