一大早,打开电脑就开始尝试解决昨天被整得疲惫不堪的问题。
项目中使用Hibernate作为持久层,但却使用JPA作为API,在本地查询(NativeQuery)中,由于无法手动设置字段类型,将由Hibernate自动对其做以映射,于是乎,char被映射成Character。如此看来似乎没有问题,但问题在于,表中此字段并不是char(1),而是char(32),理应映射成String才对,而如今只能取到字符串的第一个字符。
对于这个问题,苦思冥想始终未找到合适解决方案,最后无奈只得请教大虾,走过来一看,做了个很小的手术,问题终以解决,在此特别感谢大虾。
手术如下:
事实上SQL中的 || 符号,就是字符串的追加符,此代码就是追加一个null值,最后字段一将作为字符串返回。
项目中使用Hibernate作为持久层,但却使用JPA作为API,在本地查询(NativeQuery)中,由于无法手动设置字段类型,将由Hibernate自动对其做以映射,于是乎,char被映射成Character。如此看来似乎没有问题,但问题在于,表中此字段并不是char(1),而是char(32),理应映射成String才对,而如今只能取到字符串的第一个字符。
对于这个问题,苦思冥想始终未找到合适解决方案,最后无奈只得请教大虾,走过来一看,做了个很小的手术,问题终以解决,在此特别感谢大虾。
手术如下:
select col1 || null as col1 from table;
事实上SQL中的 || 符号,就是字符串的追加符,此代码就是追加一个null值,最后字段一将作为字符串返回。