Тип символов DB2 и JPA не работают - PullRequest
0 голосов
/ 18 февраля 2011

Я работаю с базой данных DB2 Universal, содержащей много таблиц со столбцами типа данных CHARACTER. Длина этих столбцов является переменной (больше 1, например, 18). Когда я выполняю собственный запрос с использованием JPA, он выбирает только первый символ столбца. Кажется, тип данных CHARACTER сопоставлен с символом Java.

Как получить полное содержимое в столбце БД. Я не могу изменить базу данных на стороне продавца. Обратите внимание, что мне нужно сделать это обоими способами, т. Е.

  • Использование JPQL (в этом случае может работать атрибут columnDefinition)
  • Использование собственного запроса к базе данных (в этом случае не используется pojo, и я не могу контролировать типы данных)

Я использую Hibernate-реализацию JPA, предоставленную Spring.

Ответы [ 2 ]

0 голосов
/ 02 августа 2011

Мне удалось привести столбец к VARCHAR, чтобы получить дополненные строковые результаты из createNativeQuery:

select VARCHAR(char_col) from schema.tablename where id=:id
0 голосов
/ 18 февраля 2011

Если эти столбцы действительно распространены в вашей базе данных, вы можете настроить диалект, используемый Hibernate. См. Комментарии к ЧЧХ-2304 .

...