Java Spring data couchbase-运行非即席参数化查询
是否可以使用annotation@query在禁用临时标志的情况下执行参数化N1QL查询 即,对于给定的查询:Java Spring data couchbase-运行非即席参数化查询,java,spring,couchbase,n1ql,spring-data-couchbase,Java,Spring,Couchbase,N1ql,Spring Data Couchbase,是否可以使用annotation@query在禁用临时标志的情况下执行参数化N1QL查询 即,对于给定的查询: @Query("#{#n1ql.selectEntity} WHERE #{#n1ql.filter} and author = $author") List<Comment> getCommentsByAuthor(@Param("author") String author); @Query(#{n1ql.selectEntity}其中#{n1ql.filter}和a
@Query("#{#n1ql.selectEntity} WHERE #{#n1ql.filter} and author = $author")
List<Comment> getCommentsByAuthor(@Param("author") String author);
@Query(#{n1ql.selectEntity}其中#{n1ql.filter}和author=$author)
列出getCommentsByAuthor(@Param(“author”)字符串author);
如果没有,是否有其他方法可以强制couchbase在注释查询中使用辅助索引(在本例中为作者字段上的索引) 你似乎混合了一些东西:
- 参数化查询将与代码片段中的
注释一起使用。文档中提到了这一点(在中的第一个警告块下方)@Query
- N1QL应根据语句自动拾取N1QL二级索引。这里的微妙之处在于
。SDC需要这样做,才能将此类查询限制为异构存储桶中的正确文档集n1ql.filter
是另外一回事:它是关于准备好的陈述。SDC不使用该功能,它只会生成带有adhoc默认值的N1QL查询(据我所知,它仍然是adhoc
)true
如果您记录了此注释生成的查询,并对其进行了解释,以有效地查看索引是否未被提取,那么可以尝试反转WHERE子句中的两个表达式?谢谢。我误解了couchbase中临时标志的含义,但通常的答案是SpringDataCouchbase不支持非临时查询。