【发布时间】:2020-11-06 08:37:39
【问题描述】:
我想进行动态查询,如果发送特定参数,本机查询应根据它过滤结果。如果为 null,则不应反映结果。
我正在使用带有原生查询机制 + Oracle DB 的 Spring Data JPA
对于字符串参数,这种方法可以正常工作
:email is null or s.email = :email
但是对于具有值的整数参数,查询可以工作,但如果参数为空,则查询失败并出现错误
原因:java.sql.SQLSyntaxErrorException:ORA-00932:不一致的数据类型:预期的 NUMBER 得到了 BINARY
我对 Integer 使用完全相同的方法而不是 String
我想知道问题是在我这边还是某种错误?
【问题讨论】:
-
感谢您的回复。不,这是产生相同错误的不同类型的问题。就我而言,我希望参数为“空”值。这个主题与我的问题有些相关,但建议的解决方案仅适用于 String 参数,不适用于 Integer - stackoverflow.com/questions/43780226/…
标签: java spring orm spring-data-jpa