从父级查询子记录

时间:2017-12-14 12:18:45

标签: spring jpa spring-data spring-data-jpa

我有两个课程:StaffState

public class State {
  @Id
  private String id;
  private String name;
}

public class Staff {

  @Id
  @Column(nullable = false, columnDefinition="VARCHAR(100)")
  private String id;
  private String name;
  private String phoneNo;
  private String address;

  @OneToOne
  @JoinColumn(name = "state_id")
  private State state;
}

如何使用JpaRepository进行查询以按State.name进行过滤。由于它是使用state_id映射的?

类似的东西:

//current DAO to filter by staff's name
List<Staff> findByNameContaining(String name);

但我希望按name的{​​{1}}和Staff的{​​{1}}进行过滤。

2 个答案:

答案 0 :(得分:2)

试试这个。

List<Staff> findByNameAndState_Name(String staffName, String stateName)

答案 1 :(得分:0)

  • 你也可以这样做。尝试创建如下方法。传递州名。

    列出findByStateName(String stateName);