我试图使用搜索一个具有多个复合键的表。
我的桌子看起来像这样
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.发布于 2017-04-03 19:18:25
我错过了和之间的findById1Id2应该是findById1AndId2。回购看起来像这样
public interface TestRepo extends CrudRepository <Test, String> {
public List<Message> findById1AndId2(String id1, String id2);
}来自文档
7.4.2.查询创建 …… 在非常基本的级别上,您可以定义实体属性的条件,并将它们与和和或连接起来。
备注
我回答了这个问题,而不是删除这个问题,因为我找不到关于StackOverflow的任何信息。
https://stackoverflow.com/questions/43192450
复制相似问题