我从很久以前就得到了一个查询,查询是由JPA构建的,但今天引发了异常:
org.springframework.web.util.NestedServletException:请求处理失败;嵌套异常是org.springframework.orm.hibernate3.HibernateJdbcException:Hibernate数据访问时的JDBC异常:SQL [n / a]的SQLException; SQL状态[99999];错误代码[29902];无法提取ResultSet;嵌套异常是org.hibernate.exception.GenericJDBCException:无法在org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:973)中提取ResultSet
长话短说,它给出了 SQL状态[99999];错误代码[29902]; 参数问题。
查询其构建如下:
select * from mytable where CONTAINS(field1, 'BT');
A little google-fu show me that BT its a query operator for Contains.此错误可以通过不, DIFMERGE ,关于,和进行搜索..
问题是,有一种方法可以逃避文本,以便我可以搜索 BT 或他的朋友这个词吗?
编辑:我构建像这样的包含:
return builder.greaterThan(
builder.function("CONTAINS", Integer.class, exp, builder.literal(((String) param.getValue()).toUpperCase())),
0);
编辑:我尝试将文字 BT 转换为unicode,但也无效。
从myTableWHERE CONTAINS中选择*(field1,UNISTR('\ 0042 \ 0054'))> 0