我是Hibernate的新手 这是我的JPA / Hibernate查询,有多个左连接,所以,我想知道如何在JPA中编写查询。参数是可选的可以改变一个/两个/三个参数。 我想订单可能是null或者动物,剂量,cassete_code也加上过滤器是Map元素。
e.g。其中s.study_fk = 2剂量,动物和剂量="高" /动物= 104 /器官="肝脏"。
但这个参数是选择性的......
SELECT d.level, s.slide_pk from slideimage s
LEFT JOIN studyanimal a ON s.animal_fk=a.animal_pk
LEFT JOIN study_dosage sd ON a.study_dos_fk=sd.study_dos_pk
LEFT JOIN dosage d ON sd.dosage_fk=d.dosage_pk
where s.study_fk=2 order by d.level;
我被困在这里请帮助我们。 (抱歉英文不好。)
答案 0 :(得分:0)
如果您已正确编写实体(@OneToMany关系),则只需选择顶级实体本身。
E.g。
SELECT s FROM SlideImage s
LEFT JOIN s.studyAnimal a
LEFT JOIN a.studyDosage sd
LEFT JOIN sd.dosage d
WHERE s.study = ?1
将填充SlideImage entites的集合,并填充其嵌套属性。