2016-08-31 4 views
0

Я следующий объект:EclipseLink: по умолчанию имена столбцов заменяются на прописные

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

    private String foo; 
    //+getters and setters 
} 

Итак, ecpliselink будет генерировать следующий запрос:

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

Я заметил, что все имена столбцов по умолчанию (которые я не установил через @Column), изменены на верхний регистр. Я попытался установить eclipselink.jpa.uppercase-column-names на false, но это не помогло. Как я могу заставить eclipselink получить имена столбцов из полей класса без изменений?

+0

Этот вопрос уже ответил на http://stackoverflow.com/a/18700346/5078385. Существует также другая полезная информация в http://stackoverflow.com/a/15911225/5078385. Разве это не то, что вы ищете? – acm

ответ

1

JPA стандартизирует имена в верхнем регистре. С свойством eclipselink.jpa.uppercase-column-names вы можете принудительно принудительно возвращать имена столбцов JDBC в верхнем регистре, чтобы соответствовать наименованию по умолчанию в верхнем регистре.

Если вы не хотите использовать аннотацию @Column для перезаписи имен по умолчанию для своих столбцов, вы можете использовать SessionCustomizer или DescriptorCustomizer. Оба способа будут работать с eclipselink и очень хорошо описаны на этом сайте Link with example of SessionCustomizer & :DescriptorCustomizer

 Смежные вопросы

  • Нет связанных вопросов^_^