具有动态查询的 JPA 也是 Hibernate 中的动态(可选)参数
Posted
技术标签:
【中文标题】具有动态查询的 JPA 也是 Hibernate 中的动态(可选)参数【英文标题】:JPA with dyanmic query also dyamic(optinal) paramters in Hibernate 【发布时间】:2016-04-20 06:08:12 【问题描述】:我是 Hibernate 的新手 这是我的带有多个左连接的 JPA/Hibernate 查询,所以我想知道如何在 JPA 中编写查询。参数是可选的,可以更改一/二/三参数。 我希望 order 可能为 null 或 Animal,dosage,cassete_code 还添加过滤器是 Map 元素。
例如其中 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】:如果您正确编写了实体(@OneToMany 关系),您只需选择***实体本身。
例如
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 实体,其中填充了它们的嵌套属性。
【讨论】:
以上是关于具有动态查询的 JPA 也是 Hibernate 中的动态(可选)参数的主要内容,如果未能解决你的问题,请参考以下文章