我想要的是类似于以下内容的查询:

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


我该如何实现?

最佳答案

thirdIdsecondId的属性,它是First的属性。这是您要指定的方式:

findBySecondIdThirdIdIdAndX(int id, int xval);


Here是嵌套属性的相关文档。

09-10 08:09
查看更多