我正在尝试使用spring-data Cassandra搜索具有多个复合键的表。
我的表看起来像这样
CREATE TABLE test (
id1 text,
id2 text,
PRIMARY KEY (id1, id2)
我的存储库看起来像这样
public interface TestRepo extends CrudRepository <Test, String> {
public List<Message> findById1(String id1);
}
这很好用,但现在我需要搜索我有id1和id2。
这不编译,它给我一个错误
public interface TestRepo extends CrudRepository <Test, String> {
public List<Message> findById1(String id1);
public List<Message> findById1Id2(String id1, String id2);
}
错误
No property id2 found for type String! Traversed path: Message.id2.
这是编译,但它说我需要允许过滤,显然是因为我没有提供第一个主键。
public interface TestRepo extends CrudRepository <Test, String> {
public List<Message> findById1(String id1);
public List<Message> findById2(String id1, String id2);
}
错误
Error about Allow Filtering.
答案 0 :(得分:1)
我错过了findById1Id2
应该findById1AndId2
之间的和。回购看起来像这样
public interface TestRepo extends CrudRepository <Test, String> {
public List<Message> findById1AndId2(String id1, String id2);
}
7.4.2。查询创建
...
在非常基础的层面上你可以定义 实体属性的条件,并将它们与And和Or连接起来。
我回答而不是删除问题,因为我在StackOverflow上找不到任何信息。