2013-11-17 3 views
0

Я довольно новичок в JPA. Я пытаюсь сделать что-то очень простое.Использование строковых констант в JPA @ Колонная аннотация

Изменить ...

@Column(name = "ITEM_NO") 
private String itemNo; 

К ...

@Column(name = DaoConstants.ITEM_NO) 
private String itemNo; 

Но когда я сделал это, я получил ...

Значение атрибута аннотацию Column.name должно быть постоянным выражением

Я уверен, что раньше использовал константы с аннотациями. Я ошибаюсь? Не следует ли использовать строковые константы с аннотациями?

благодаря

+3

Является ли «DaoConstants.ITEM_NO' статическим финалом? – Osw

+2

Я бы дважды подумал, прежде чем делать это. Это снижает читаемость кода больше, чем увеличивает его ремонтопригодность. Константа, вероятно, используется только в этом единственном месте, и когда вы читаете код, теперь вам нужно перейти к определению константы, чтобы узнать, что такое имя столбца. –

+0

Это хорошо, потому что эти константы используются в других местах в mappers в моем проекте Apache Camel – Richie

ответ

3

Ошибка указывает на то, что DaoConstants.ITEM_NO не объявлен как окончательный. У вас должно быть что-то вроде этого в DaoConstants класс:

public static final String ITEM_NO = "itme_no"; 
Смежные вопросы