如何使用spring数据创建自定义查询,hibernate,用于映射实体?

时间:2017-07-05 09:58:44

标签: java spring hibernate spring-boot spring-data

我想要的是一个类似于:

的查询
SELECT s FROM First s WHERE s.x = :x and s.secondId.thirdId.id = :id;

我正在尝试将其迁移到spring数据。 我无法弄清楚我的存储库中的methodname应该是什么。

我的实体:

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); 得到:

  

无效的派生查询!找不到第一个

类型的属性thirdId

我怎样才能做到这一点?

1 个答案:

答案 0 :(得分:1)

thirdIdsecondId的属性,属于First的属性。这是你如何指定:

findBySecondIdThirdIdIdAndX(int id, int xval);

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