当我使用以下代码作为Spring文档时,eclipse总是在令牌上显示语法错误。
public interface BookRepository extends ElasticsearchRepository<Book, String> {
@Query("{"bool" : {"must" : {"field" : {"name" : "?0"}}}}")
Page<Book> findByName(String name,Pageable pageable);}
答案 0 :(得分:3)
我怀疑它不喜欢@Query
注释中的查询。
您需要在查询中转义双引号。
public interface BookRepository extends ElasticsearchRepository<Book, String> {
@Query("{\"bool\" : {\"must\" : {\"field\" : {\"name\" : \"?0\"}}}}")
Page<Book> findByName(String name,Pageable pageable);}
确实,这是一个文档错误。但是,在their tests中,我们可以发现双引号必须被转义,因为双引号是Java中的保留分隔符。
答案 1 :(得分:0)
复制您的JSON查询(在“query”下:{,不带查询标记)。
在代码中编写@Query(“”)并将复制的查询粘贴到引号内,IDE可能会自动转义查询。
对长查询很有用。