我正在对整数进行搜索查询。这是Factuur类中的NamedQuery:
@NamedQueries({
@NamedQuery(name = "getFactuurs", query = "SELECT f FROM Factuur f WHERE "
+ "f.periode LIKE :periode AND "
+ "f.carTracker.kenteken LIKE :carTrackerKenteken")
})
所以'periode'是Factuur类中的Integer,我试过这样做:
+ "f.periode = :periode AND "
我没有得到异常,我只是从数据库中得不到任何东西,而应该有......
答案 0 :(得分:0)
JPA规范的第4.6.9节规定LIKE运算符只能应用于string类型的表达式:
在条件表达式中使用比较运算符[NOT] LIKE的语法如下:
string_expression [NOT] LIKE pattern_value [ESCAPE escape_character]
string_expression必须具有字符串值。
似乎没有将整数转换为字符串的函数。如果要查询范围,则应该计算应用程序中的下限值和上限值,并使用BETWEEN表达式进行查询。如果需要使用任意LIKE表达式进行查询,那么您的字段可能应该是字符串类型。