我在我的spring Boot 3应用程序中以oracle兼容模式在内存数据库中使用h2进行测试。
在从sb 2迁移到sb 3的过程中,我发现每个按标准jpa API构建的like查询不再工作,经过短暂的研究,发现like查询添加了额外的字符转义。
举例来说:select x from y where a like ? escape ''
以前escape没有被添加到查询中(sb 2):select x from y where a like ?
如何禁用这个开箱即用的转义?
版本:h2:1.4.200Spring罩:3.1.1 hibernate-core:6.2.5 sql方言:h2
2条答案
按热度按时间prdp8dxp1#
我已经从jdbc h2 URL中删除了mode:ORACLE,它工作得很好。不是最好的解决方案,但仍然有效。
gzjq41n42#
这不是最好的解决方案,但你可以添加“escape”\“到你的查询,这将阻止它把空的放在那里。这将改变你的查询,并将反斜杠视为转义字符,所以你需要注意这一点。