クエリを再構築する必要がありますが、1 行を除いてすべて正常に動作します。
ここでSQLの行:
...
AND someId > '0'
...
someId は、ほとんどが数字を含む文字フィールドですが、末尾に文字が含まれることもあります。私の基準部分は次のようになります。
cb.greaterThan(myClass.get(MyClass_.someId), 0)
その結果、
...
AND someId > 0
...
(欠落している ' について)
文字列でgreaterThanを使用できないため、これによりクエリが台無しになります。
私が必要としているのは、数字だけで構成され、文字を含まないすべての someIds です。
を追加してみました
cb.function("isNumeric", Boolean.class, myClass.get(MyClass_.someId))
私のwhere節に、しかしcb.andはそれが好きではありません。:)
何か案は?