Как установить Oracle NLS_LANG при использовании JPA

Я использую JPA для доступа к базе данных Oracle, для которой установлена ​​кодировка ISO-8859-1.

Как настроить NLS_LANG с помощью JPA для получения данных в правильной кодировке?

Я подозреваю, что это должно быть установлено где-то в XML контекста постоянства.


person Jan Algermissen    schedule 17.01.2012    source источник
comment
Вы не должны не полагаться на специальное значение для NLS_LANG (и связанное с ним неявное преобразование). Используйте соответствующие маски формата, например. в to_date() или to_char()   -  person a_horse_with_no_name    schedule 17.01.2012


Ответы (1)


Драйвер JDBC позаботится обо всем. Он знает значение кодировки и использует соответствующую кодировку без каких-либо действий с вашей стороны.

person JB Nizet    schedule 17.01.2012
comment
Насколько мне известно, драйвер использует локаль по умолчанию из JVM (которую можно установить с помощью -Duser.locale), но все же: ни один производственный код никогда не должен полагаться на конкретную настройку для NLS_LANG. - person a_horse_with_no_name; 17.01.2012
comment
Возможно Вы правы. Мой ответ больше касался кодировки. Я отредактирую, чтобы было понятнее. - person JB Nizet; 17.01.2012
comment
Спасибо. Я сам заставил специальные символы ошибаться. Следовательно, больше не нужно пытаться изменить настройки подключения. - person Jan Algermissen; 26.01.2012