java 如何通过@Query注解将参数传递给Couchbase查询?

slsn1g29  于 2023-05-27  发布在  Java
关注(0)|答案(1)|浏览(166)

我试图传递一个参数到自定义查询,但它不工作。
我的课是这样的:

@Repository public interface CarRepository extends CouchbaseRepository<CarDocument, String> {
    @Query(
        value = "#{#n1ql.selectEntity} #{#n1ql.bucket} where cars.`:#{#carId}` is not missing; ")
    List<CarDocument> getCarDocumentsByCarId(@Param("carId")Integer carId);

}

返回值为空。所以它不起作用。我做错了什么

fhity93d

fhity93d1#

下面是如何将参数传递给Couchbase查询的示例:

@Repository
public interface UserRepository extends CouchbaseRepository<User, String> {

    @Query("#{#n1ql.selectEntity} WHERE username = $1")
    User findByUsername(String username);
}

User user = userRepository.findByUsername("johndoe");

占位符$1用于表示传递给方法的第一个参数。
当您调用findByUsername方法并将用户名作为参数传递时,它将在查询中占位符的位置处被替换。

相关问题