让我们说
@Entity
public class Hospital {
...
@ManyToMany
private List<Doctor> doctors;
...
}
我如何获得特定医院的医生名单?我试过了
public interface HospitalRepository extends Repository<Hospital, Long> {
List<Doctor> findDoctorsById(Long hospitalId);
}
但令人惊讶的是,它返回医院列表!有什么想法吗?
答案 0 :(得分:2)
你应该可以使用:
Hospital h = hospitalRepository.findOne(Long id);
h.getDoctors():
或者,如果医院ID不是主键:
Hospital findByHospitalId(Long hospitalId);
或者如果您想直接返回Doctor实例,请将查询放入Doctor存储库(这需要Doctor实体中的Hospital属性):
public interface DoctorRepository extends Repository<Doctor, Long> {
List<Doctor> findByHospitalId(Long hospitalId);
}