这是在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' "
答案 0 :(得分:1)
我在这里看到一些错误。
您使用的是不同的变量:
nativeSqlSerach
和
nativeSqlForSearch
您正在使用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()
。
我不确定您是否发布了简化问题,但在上述情况下,您根本不需要任何REGEX
。只需使用=
或LIKE
通配符表示法。