我想要的是类似于以下内容的查询:
SELECT s FROM First s WHERE s.x = :x and s.secondId.thirdId.id = :id;
我正在尝试将其迁移到spring数据。
我不知道存储库中的方法名应该是什么。
我的实体:
First{
int x;
@JoinColumn(name = "second_id", referencedColumnName = "id")
@ManyToOne(optional = false)
private Second secondId;
}
Second{
int id;
@JoinColumn(name = "third_id", referencedColumnName = "id")
@ManyToOne(optional = false)
private Third thirdId;
int c;
}
Third {
int id;
// more data here
int b;
int c;
}
我试过了:
findByThirdIdAndX(int id, xval);
得到:
无效的派生查询!找不到类型为First的属性thirdId
我该如何实现?
最佳答案
thirdId
是secondId
的属性,它是First
的属性。这是您要指定的方式:
findBySecondIdThirdIdIdAndX(int id, int xval);
Here是嵌套属性的相关文档。