我正在尝试通过多个单词来执行简单的搜索功能,例如在SQL查询中这样
SELECT * FROM faqs WHERE title REGEXP 'préférée|Changer|endommagé' or question REGEXP 'préférée|Changer|endommagé'
但是当我试图在我的JpaRepository的@Query中实现此功能时
@Query(value = "SELECT f FROM Faq f WHERE f.title REGEXP :term" )
Page<Faq> searchByRegExp(@Param("term") String term,Pageable pageable);
但是由于该错误,似乎不支持REGEXP:
<expression>, <operator>, GROUP, HAVING or ORDER expected, got 'REGEXP'
注意:我尝试添加NativeQuery = true相同的问题
@Query(value = "SELECT * FROM faqs WHERE title REGEXP :term ", nativeQuery = true)
Page<Faq> searchByRegExp(@Param("term") String term,Pageable pageable);
遗憾的是jpql不支持正则表达式。您将必须使用like
并写下所有可能性。但是您可以使用in
: