【发布时间】:2018-02-23 15:11:56
【问题描述】:
我在我的应用中使用复合 PK,其中包含 2 个表和一个连接表。
我为函数编写了这个查询:
@Repository
public interface HospitalDoctorDao extends JpaRepository<HospitalDoctor, Integer>{
@Query("select hd from HospitalDoctor hd join hospital on hd.hospital_id=hospital.id join doctor on hd.doctor_id = doctor.id where hospital_id = ?1 and doctor_id = ?1")
HospitalDoctor findByHospitalIdAndDoctorId(int hospital_id, int doctor_id);
}
我收到错误 Path expected for file!在 MySQL 中,一切正常。在这种情况下,Hibernate 是如何工作的?我应该如何编写这个查询?这是我的连接表的@Entity:
@Entity
@Table(name = "hospital_doctor")
public class HospitalDoctor {
@Embeddable
static class HosdocPK implements Serializable {
private int hospitalId;
private int doctorId;
}
@EmbeddedId
@JsonBackReference
public HosdocPK hosdocPK;
@JsonManagedReference
@MapsId("DoctorId")
@ManyToOne(optional = false)
@JoinColumn(name = "doctorId", referencedColumnName = "id")
private Doctor doctor;
@JsonManagedReference
@MapsId("HospitalId")
@ManyToOne(optional = false)
@JoinColumn(name = "hospitalId", referencedColumnName = "id")
private Hospital hospital;
@Column(name = "Id")
private int id;
@Temporal(TemporalType.DATE)
private Date contract_start_date;
@Temporal(TemporalType.DATE)
private Date contract_end_date;
private String position;
private String supervisor;
private boolean part_time;
Getters and setters
}
【问题讨论】:
标签: mysql sql database hibernate jpa