我正在尝试使用 N1QL 查询来查询 spring-data couchbase 存储库。我有两个疑问:
我正在使用@Query 注释来生成查询,我的代码如下所示:
@Query("#{#n1ql.selectEntity} WHERE $0 = $1 AND #{#n1ql.filter}")
public Page<GsJsonStore> matchJson(String term, String value, Pageable pageable);
//Query
Page<GsJsonStore> p = repo.matchJson("_object.details.status", "ready", pg);
此查询不返回任何结果。但是,当我在 cbq 中运行相同的查询(如下)时,我得到了所需的结果:
select * from default where _object.details.status = 'ready';
如何查看 Couchbase 存储库生成的查询字符串?我正在使用弹簧靴。我对这个用例使用 @Query 注释是否正确?
另外,如何在CouchbaseOperations
模板上执行 n1QL 查询?我知道有一种 findByN1QL
方法,但我没有找到任何关于它的好文档。有人可以解释一下如何使用它吗?