我必须重建一个查询,除了一行一切正常。
这是sql中的行:
...
AND someId > '0'
...
someId 是一个字符字段,主要包含数字,但有时包含尾随字符。我的标准部分看起来像这样:
cb.greaterThan(myClass.get(MyClass_.someId), 0)
这导致
...
AND someId > 0
...
(关于缺少的')
这搞砸了查询,因为我不能在字符列上使用大于。
我需要的是所有一些仅由数字组成且不包含任何字母的 ID。
我尝试添加一个
cb.function("isNumeric", Boolean.class, myClass.get(MyClass_.someId))
到我的 where 子句,但 cb.and 不喜欢那样。:)
有任何想法吗?