2011-09-12 24 views
5

私のアプリケーションはWindows環境で正常に動作していますが、LinuxサーバーでテストしようとしているときにJPA EclipseLink sqlが生成する問題があります。小文字でJPA、EclipseLink、大文字と小文字を区別するmysqlの問題

このような他者との混合
INSERT INTO PFC(ID, ALUMN,PROPOSED_ID) VALUES (?, ?, ?) 

(配列): 私は小文字ですべての私のテーブルを作成したが、私はログで見たとき、私はすべて大文字で、そのような何かを参照してください

INSERT INTO buzonmensajes (mensajeid, buzonid) VALUES (?, ?) 
     bind => [27, 1] 

そしてもちろん、すべてがうまくいかないと、サーバはなど、大文字のテーブルを見つけることができませんでした。..

我々は、すべてのデータベース・アクションを定義するために使用orm.xml(クエリ、エンティティ、など。)と、小文字のすべて...

これらの動作を変更するMySQLのパラメータがあることは知っていますが、残念ながら変更することはできません。 私の問題は、すべてのクエリーを作成し、小文字のテーブル名を持つstatmetsをJPAに伝える必要があることです。

答えて

5

EclipseLinkでいくつかの名前をデフォルトにすることが許可されているためです。データベースの大文字と小文字を使用して名前を指定する場合、EclipseLinkはデフォルトでこれらのケースを使用する必要があります。

あなたはそれはあなたが常に「\ "」パターン使用して区切り識別子を使用してケースを強制することができます動作しない見つけた場合:。@Table("\"pfc\"")をしかし、これは要求されるべきではない

あなたは

使用しているのEclipseLinkのバージョンは何?を
+1

こんにちは、Gordon。ありがとうございました。私は注釈はありません。orm.xmlのすべてのエンティティを構成しますが、あなたは正しいです、タグ

を追加してテーブル名を定義し、問題を解決しました。 :
Aitor

関連する問題