>
我想在一次调用“Select P from Parent left join fetch P.children where P.id=:id”中获得一个包含所有子对象的父对象(我认为它是一个left outer join)。这只会在P至少有一个子对象时才会产生结果
我想也有所有的儿童和财产childinfos与1调用,因为jpa不支持导航p.children.childinfo,有没有办法实现这一点?使用提示(queryhints.fetch,“p.children.info”)不是一个好的选择,因为如果我有1000多个子级,那么将有1000多个SQL查询被激发以获取子级信息。我也不想给child.childinfo Eage-Fetch选项,而只是在查询级别。
太多了
第一个查询(一旦固定)应该肯定返回父级和它的子级,即使它没有任何:
select p from Parent p left join fetch p.children where p.id = :id
要获取childInfos,您需要为子项分配一个别名:
select p from Parent p
left join fetch p.children child
left join fetch child.childInfo
where p.id = :id
我没有EclipseLink的具体经验,但这样的查询在Hibernate中肯定可以工作,并且是有效的JPQL。所以它应该可以在EclipseLink中工作。
问题内容: 这是我的namedquery: @NamedQuery(name =“ User.findOneWithLists”,查询=“从用户u中选择u” +“左联接FEACH u.aTemplates” +“左联接FE.bTemplates” +“左联接FE.bp” +“左JOIN FETCH u.aCredentials“ +” LEFT JOIN FETCH u.st(st.deleted
我有两个表,一个用于聚会,一个用于记分卡模板映射。记分卡模板映射表有一个返回到party(on id)的外键。我想找到一个有记分卡模板映射细节的所有各方的列表。
我想它不干净...有没有人知道如何在不使用SQL符号的情况下使它变得简单?
我使用了spring data,jpa和querydsl,并学习了如何编写简单、漂亮的查询以左联接两个表。假设我有一个Project实体和一个Task实体,在Project中定义了OneToMany关系,我想做如下操作: 在JPQL中,应为: 我有一个ProjectRepository接口,它扩展了JPararePository和QuerydsLPredicateExecutor。使我能够访问方法
如何在JPA中使用相同的表执行左外部联接?当我试着这样做的时候: 我得到错误:“意外标记:在第1行附近,第122列[从com.homersoft.wh.db.entity.radius.radacct e1中选择e1在e1.username=e2.username和e1.radacctID ?1]”
汽车实体 保留实体 非常感谢你的帮助。