我必须重建一个查询,除了一行,一切正常。
这里是sql中的行:
...
AND someId > '0'
...
someId是一个char字段,主要包含数字,但有时会包含尾随字符。 我的标准 - 部分内容如下:
cb.greaterThan(myClass.get(MyClass_.someId), 0)
导致
...
AND someId > 0
...
(考虑到失踪')
这会搞砸查询,因为我无法在char列上使用greaterThan。
我需要的是所有只有数字而且不包含任何字母的ID。
我尝试添加
cb.function("isNumeric", Boolean.class, myClass.get(MyClass_.someId))
到我的where-clauses,但cb.and并不喜欢。 :)
有什么想法吗?
答案 0 :(得分:1)
回答自己:
我将isNumeric-thing调整为此
c.equal(cb.function("isNumeric", Boolean.class, myClass.get(MyClass_.someId)), 1)
这很好。