簡體   English   中英

Spring-Data-Couchbase-運行非臨時參數化查詢

[英]Spring-data-couchbase - running non ad-hoc parametrized query

是否可以使用注釋@Query在關閉了即席標記的情況下執行參數化的N1QL查詢?

即對於給定的查詢:

@Query("#{#n1ql.selectEntity} WHERE #{#n1ql.filter} and author = $author")
List<Comment> getCommentsByAuthor(@Param("author") String author);

如果不是,是否有其他方法可以強制Couchbase在注釋查詢中使用二級索引(在本示例中為作者字段的索引)?

您似乎混合了一些東西:

  • 參數化查詢將與您的代碼段中的@Query注釋一起使用。 文檔中提到了它(在本節的第一個警告框下方)

  • N1QL應根據語句自動選擇N1QL二級索引。 這里的微妙之處是n1ql.filter SDC需要將此類查詢限制為異構存儲桶中正確的文檔集。

  • adhoc是另外一回事:它是關於准備好的陳述。 SDC不使用該功能,它只會產生帶有默認值adhoc的N1QL查詢(據我所知這仍然是true )。

如果您已經記錄了由該批注產生的查詢並對其進行了運行EXPLAIN以有效地看到未選擇該索引,則可以嘗試反轉WHERE子句中的兩個表達式?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM