带有dyanmic查询的JPA也是Hibernate中的dyamic(optinal)参数

时间:2016-04-20 06:08:13

标签: hibernate jpql persistent

我是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;

我被困在这里请帮助我们。 (抱歉英文不好。)

1 个答案:

答案 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的集合,并填充其嵌套属性。