2

この 1 つのプロジェクトでは、Windows で開発し、Linux に展開し、mysql をデータベースとして使用します。

ファイルシステムの性質上、テーブル名 (およびその他の名前) は、Windows では大文字と小文字が区別されず、*nix では区別されます[参照]

問題は、デフォルトで play/jpa がテーブルの Java モデル クラスと同じ名前を使用することです (したがって、UserProfile のように大文字になります)。Windows mysql データベースをダンプすると、小文字のテーブル名がダンプされます。

つまり、大文字と小文字が区別されるため、Linux にインポートできません。

モデルに常に小文字の名前を使用するよう Play / JPA に指示する方法はありますか? @Table(name="userprofile")または、単一のモデルに注釈を設定する必要がありますか?

4

1 に答える 1

4

休止状態には別の命名戦略を使用する必要があります。休止状態で利用できる改善された NS があります

http://docs.jboss.org/hibernate/orm/3.6/javadocs/org/hibernate/cfg/ImprovedNamingStrategy.html

この行をapplication.confに追加するだけです

hibernate.ejb.naming_strategy=org.hibernate.cfg.ImprovedNamingStrategy

この投稿とこのSOの質問も見てください

于 2012-04-13T15:08:16.680 に答える