今天在项目中遇到一个问题,之前运行正常,但是今天一直出错,而且报的是hql语句的问题。
最近没有修改这块代码,然后就debug了下,发现在hql语句中有\n\t\t\t
等这些转义字符。然后看值这块代码,之前在xml里hql语句是在一行上写完的,而我用IDE工具格式化后分成了多行,从而无形中改变了hql语句的内容,格式化后的hql语句加入了那些换行和tab的转义字符。
这些转义字符最后执行的时候的结果是一样的,但是因为我要对hql语句再进行操作后才执行,这个过程中对原hql要进行截取拼接等操作,这下就会出现问题。
所以,xml里配置hql的语句要尽量放在一行(不是必须的,因为后续处理可能不一样),从而避免因其他后续对hql语句的操作引起的其他问题。