Hibernate @NamedQueries с зарезервированным словом - PullRequest
0 голосов
/ 16 марта 2012

У меня проблема с hibernate @NamedQueries.У меня есть таблица SCP_PMAT с колонкой с именем 'group'.В картировании нет проблем.Это я решаю в скобках.

public class ScpPmat{
    @Column(name = "[group]")
    private String group;
}

Но когда я хочу использовать @NamedQuery, возникает проблема.Как я могу написать имя столбца для запроса?

@NamedQuery(name = "readScpPmatByGroup",
query = "FROM ScpPmat where group = :group")

Надеюсь, этого кода достаточно.Спасибо

Ответы [ 2 ]

1 голос
/ 18 марта 2012

Лучший вариант: изменить имя столбца, чтобы оно не было зарезервированным словом.Обычно это плохая практика, и это может вызвать головную боль как в коде Java, так и в SQL, в зависимости от того, что вы испытываете.

Другой вариант - изменить имя поля Java с зарезервированного слова на неЗарезервированное слово, как groupCol.

0 голосов
/ 16 марта 2012

Вы можете заключить зарезервированное слово в кавычки:

query = "FROM ScpPmat where \"group\" =:group")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...