2016-08-31 8 views
0

を大文字に変更されている私は、次のエンティティを持っている:私はすべてのデフォルトの列名気づいたのEclipseLink:デフォルトの列名が

SELECT t1.id, t1.FOO FROM ... 

@Entity 
public class SomeEntity{ 
    @Id 
    @Column(name = "id") 
    private Integer id; 

    private String foo; 
    //+getters and setters 
} 

ので、ecpliselinkは、次のクエリを生成します。 (@Columnで設定しなかったもの)は大文字に変更されます。私はeclipselink.jpa.uppercase-column-namesfalseに設定しようとしましたが、それは役に立ちませんでした。 eclipselinkでクラスフィールドの列名を変更せずに取得するにはどうすればよいですか?

+0

この質問はすでにhttp://stackoverflow.com/a/18700346/5078385で返信されています。 http://stackoverflow.com/a/15911225/5078385にも役立つ情報があります。あなたが探しているものではありませんか? – acm

答えて

1

JPAは名前を大文字に標準化しています。プロパティーeclipselink.jpa.uppercase-column-namesを使用すると、大文字のデフォルト命名と一致するように、JDBCが強制的に大文字の列名を返すことができます。

Annotation @Columnを使用してカラムのデフォルト命名を上書きしたくない場合は、SessionCustomizerまたはDescriptorCustomizerを使用できます。どちらの方法もeclipselinkで動作し、このサイトで詳しく説明されていますLink with example of SessionCustomizer & :DescriptorCustomizer

関連する問題