Tôi đang cố gắng truy vấn một bảng Cassandra bằng mệnh đề IN và chú thích @Query từ Dữ liệu Mùa xuân. Tôi có một bảng với một khóa phân vùng của last_name và một khóa phân nhóm của first_name.IN với Dữ liệu Mùa xuân và Cassandra @Query
Tôi có truy vấn này làm việc
@Query("SELECT * FROM people WHERE last_name=?0")
public List<People> findByLastName(String lastName);
và tôi muốn làm một cái gì đó giống như
@Query("SELECT * FROM people WHERE last_name=?0 AND first_name IN ?1")
public List<People> findByLastName(String lastName, String[] firstName);
Tôi có nó làm việc sử dụng
CassandraOperations.select("SELECT * FROM people WHERE last_name=" + lastName +
" AND first_name IN (" + concatinatedNameList + ")", People.class);
Nhưng đối với một số lý do (mã phong cách, thử nghiệm, tôi thề có nhiều hơn) Tôi muốn sử dụng @Query. Bất kỳ ý tưởng?
CHỈNH SỬA ĐỂ BIẾT THÊM THÔNG TIN!
Đi qua trong một mảng, thiết lập, hoặc danh sách trả Caused by: java.lang.IllegalArgumentException: encountered unsupported query parameter type [class [Ljava.lang.String;] in method public abstract
Cũng thử:
String firstName = "Joe,Jim";
@Query("SELECT * FROM people WHERE last_name=?0 AND first_name IN (?1)")
public List<People> findByLastName(String lastName, String firstName);
Không tìm thấy gì, tìm kiếm thư viện cho một người duy nhất với một tên concatinated ('Joe,Jim')
String firstName = "'Joe','Jim'";
@Query("SELECT * FROM people WHERE last_name=?0 AND first_name IN (?1)")
public List<People> findByLastName(String lastName, String firstName);
Không tìm thấy gì, yêu cầu được thoát và kết thúc ('''Joe'',''Jim''')
String firstName = "Joe','Jim"; // Hoping the library would just add the outer quotes, getting desperate
@Query("SELECT * FROM people WHERE last_name=?0 AND first_name IN (?1)")
public List<People> findByLastName(String lastName, String firstName);
Không tìm thấy gì, yêu cầu được thoát và kết thúc lên ('Joe'',''Jim')
bạn có thử bất kỳ loại Bộ sưu tập nào không? Đặt hoặc Danh sách các chuỗi thay vì mảng Chuỗi? –
Cả hai Danh sách và Bộ trả về lỗi tương tự như vậy khi khởi động 'Nguyên nhân bởi: java.lang.IllegalArgumentException: gặp phải kiểu tham số truy vấn không được hỗ trợ [interface java.util.Set] ' –