Как разместить запрос n1ql с переменными в весенней аннотации @Query? - PullRequest
0 голосов
/ 03 февраля 2019

У меня есть следующий запрос N1QL:

UPDATE `bucket` 
SET b.terms.min_due.`value` = "12345" FOR b IN balances END 
WHERE entry_id = "12345"

Я хочу поместить его в аннотированный метод репозитория @Query, но значения value и entry_id должны быть переменными.

Они предназначены для операции исправления, которая обновляет только части документа.Я должен сделать это, используя встроенный N1ql через @Query, так что это единственное, что я пробовал.

@Query(UPDATE `bucket` SET b.terms.min_due.`value` = "12345" FOR b IN balances END WHERE entry_id = "12345")
<T> Mono<T> patch(T Aggregate);

Я хочу создать метод репозитория, который заменяет «12345» для value и entry_idсо значениями, извлеченными из агрегата, затем выполняет запрос N1ql, обновляя только значение, указанное в операторе, вместо всего документа couchbase.

1 Ответ

0 голосов
/ 05 февраля 2019

Для этого вы можете использовать стандартный синтаксис spEL:

@Query("#{#n1ql.selectEntity} where #{#n1ql.filter} and companyId = $2 and $1 within #{#n1ql.bucket}")
BusinessUnity findByAreaRefId(String areaRefId, String companyId);
...