-1

这是在 sql 中正常运行的查询。但是当我用java代码运行它时。显示查询语法异常

SELECT * FROM faq WHERE question REGEXP 'general' 

我的java代码

 List<Object[]> results = getBaseDao().findByNativeSql(nativeSqlForSearch.toString(), 0,0);

在哪里

StringBuilder nativeSqlSerach = "Select f from faq f where f.question REGEXP 'general' "
4

1 回答 1

1

我在这里看到的一些错误。

  1. 您正在使用不同的变量:

    nativeSqlSerach
    

    nativeSqlForSearch
    
  2. 您正在使用 String 作为 StringBuilder 对象。这是错误的,我想知道为什么它不会编译失败。要么使用

    StringBuilder nativeSqlSerach = new StringBuilder("Select f from faq f where f.question REGEXP 'general'");
    

    toString()稍后,或

    String nativeSqlSerach = "Select f from faq f where f.question REGEXP 'general'";
    

    没有toString()

  3. 我不确定您是否发布了简化的问题,但在上述情况下,您根本不需要任何问题REGEX。只需使用=LIKE通配符表示法。

于 2017-01-31T10:45:25.947 回答