我有以下设置。
'Apps/Reports' <---------> 'DB2 Connect' <------------> 'Legacy DB2 on AS400'
`Hibernate` `native calls`
当应用程序检索数据时,如果长度小于列长度,则将使用额外的空格填充。值得注意的是,在运行查询时,如果WHERE
原因参数未填充,则会自动填充额外的空格,以便查询将为填充和非填充参数检索相同的记录。
是否有方法(最好是在IBM DB2 Connect或连接字符串参数上)从结果集中删除额外的空格?
答案 0 :(得分:0)
您可以实现一个自动修剪字符串的hibernate UserType。
上有很好的例子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
答案 1 :(得分:-1)
iSeries中的列是否定义为CHAR()?我这样假设,因为这是CHAR()的工作原理 - 它是固定的字段长度,而不是可变字段长度(这是VARCHAR的用途)。