Удалить заполнение, добавленное устаревшими базами данных DB2, по результатам запроса - PullRequest
0 голосов
/ 07 октября 2010

У меня есть следующие настройки.

'Apps/Reports' <---------> 'DB2 Connect' <------------> 'Legacy DB2 on AS400'
               `Hibernate`               `native calls`

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

Есть ли способ (предпочтительно для IBM DB2 Connect или параметра строки соединения) удалить лишние пробелы из набора результатов?

Ответы [ 2 ]

0 голосов
/ 20 февраля 2014

Вы можете реализовать спящий пользовательский тип, который автоматически обрезает строки.Есть хорошие примеры на

https://forum.hibernate.org/viewtopic.php?t=928294

http://java.dzone.com/articles/annotating-custom-types

http://santescas.blogspot.de/2014/02/creando-un-usertype-de-hibernate-que-se.html

0 голосов
/ 08 октября 2010

Определяются ли столбцы в iSeries как CHAR ()? Я так полагаю, потому что так работает CHAR () - это фиксированная длина поля, а не переменная длина поля (для этого и нужен VARCHAR).

...