Java 如何在一个查询中获取具有所有子关联的实体?
我有一个名为Java 如何在一个查询中获取具有所有子关联的实体?,java,sql,database,set,jpql,Java,Sql,Database,Set,Jpql,我有一个名为Ave的JPA实体,它有两个子关联,如下所示: @实体 @表(name=“ave”) @访问权限(AccessType.FIELD) 公共类Ave实现了可序列化{ @ManyToMany(fetch=FetchType.LAZY,cascade=CascadeType.MERGE,targetEntity=Contact.class) @JoinTable(name=“ave\u contact”,joinColumns=@JoinColumn(name=“ave\u id”),in
Ave
的JPA实体,它有两个子关联,如下所示:
@实体
@表(name=“ave”)
@访问权限(AccessType.FIELD)
公共类Ave实现了可序列化{
@ManyToMany(fetch=FetchType.LAZY,cascade=CascadeType.MERGE,targetEntity=Contact.class)
@JoinTable(name=“ave\u contact”,joinColumns=@JoinColumn(name=“ave\u id”),inverseJoinColumns=@JoinColumn(name=“potentialbuyer\u id”))
@Fetch(值=FetchMode.SUBSELECT)
private List allpotentialbullers=new ArrayList();
@OneToMany(fetch=FetchType.LAZY,cascade=CascadeType.ALL,targetEntity=Bid.class,mappedBy=“ave”)
@Fetch(value=FetchMode.JOIN)
私有集bids=新HashSet();
我想在一个JPQL查询中加载所有
Ave
实体,包括所有bids
和所有allPotentialBuyers
(可能有多个SQL选择)。(怎么可能?使用左连接获取
:
entityManager.createQuery(
"select a " +
"from Ave a " +
"left join fetch a.allPotentialBuyers " +
"left join fetch a.bids", Ave.class
).getResultSet();
看来这是不可能的,明白吗