如何在 spring 数据中编写 Couchbase N1QL 查询?
How to write Couchbase N1QL query in spring data?
我想编写一个查询来查找包含子字符串的字符串列表,
例如
"xyz-1",
"xyz-2",
"xyz-3",
"xyz-4".....
以上是我需要查找的字符串列表,但我输入的只是 xyz 而不是全名 xyz-1。
在 couchbase 服务器中,我实现了如下查询,
SELECT * FROM test
WHERE ANY v IN namelist SATISFIES v LIKE '%xyz%' END;
这将给我所有包含 xyz 的列表名称。
但是在 Spring 引导应用程序中实施它不起作用。
下面是我的spring boot @query menthod
@Query("Select * from `test` where #{#n1ql.filter} And ANY v In namelist SATISFIES v Like '%'% END within #{#n1ql.bucket}")
List<String> findBynameList(String name);
下面是我的pojo class ,
@Id
private String car_id;
@Field
@NotNull
private String name;
@Field
private List<String> namelist;
LIKE 的右边必须是字符串或查询named/positional 参数的字符串。
如果查询named/positional参数里面的字符串不会被替换。您有 '%$1'% ,它将查找 $1 而不是值。
如果你想寻找价值,这样写
v LIKE ===> supply as "%actualvalue%"
v LIKE "%" || || "%"
我想编写一个查询来查找包含子字符串的字符串列表, 例如
"xyz-1",
"xyz-2",
"xyz-3",
"xyz-4".....
以上是我需要查找的字符串列表,但我输入的只是 xyz 而不是全名 xyz-1。
在 couchbase 服务器中,我实现了如下查询,
SELECT * FROM test
WHERE ANY v IN namelist SATISFIES v LIKE '%xyz%' END;
这将给我所有包含 xyz 的列表名称。 但是在 Spring 引导应用程序中实施它不起作用。
下面是我的spring boot @query menthod
@Query("Select * from `test` where #{#n1ql.filter} And ANY v In namelist SATISFIES v Like '%'% END within #{#n1ql.bucket}")
List<String> findBynameList(String name);
下面是我的pojo class ,
@Id
private String car_id;
@Field
@NotNull
private String name;
@Field
private List<String> namelist;
LIKE 的右边必须是字符串或查询named/positional 参数的字符串。
如果查询named/positional参数里面的字符串不会被替换。您有 '%$1'% ,它将查找 $1 而不是值。
如果你想寻找价值,这样写
v LIKE ===> supply as "%actualvalue%"
v LIKE "%" || || "%"