Aew galera tenho o seguinte select
Query qry = em.createNativeQuery("SELECT * "
+ "FROM ecftef.produto p "
+ "INNER JOIN ecftef.produtovalor pv ON pv.idproduto = p.id "
+ "INNER JOIN ecftef.produtoestoque pe ON pe.idproduto = p.id "
+ "INNER JOIN ecftef.produtotrib pt ON pt.idproduto = p.id "
+ "INNER JOIN ecftef.embalagem emb ON emb.id = p.idemb "
+ "WHERE (p.id BETWEEN ?1 AND ?2) "
+ "AND (SELECT "
+ "count(em.idproduto) "
+ "FROM "
+ "ecftef.estoquemovimentacaoitem em "
+ "INNER JOIN ecftef.estoquemovimentacao e ON e.id = em.idestoquemovimentacao "
+ "INNER JOIN ecftef.estoquelocal l ON l.id = e.idlocal "
+ "INNER JOIN ecftef.estoquestatus s ON s.id = e.idstatus "
+ "WHERE "
+ "p.id = em.idproduto AND l.id = ?3 AND s.id = ?4) = 0 "
+ "ORDER BY p.id", Produto.class);
ele funciona mas me da uma perda muito grande de performance pois ele nao faz o FETCH nos objetos relacionados a produto mesmo eles estando setado como EAGER pois é um relacionamento OneToOne
+ "INNER JOIN ecftef.produtovalor pv ON pv.idproduto = p.id "
+ "INNER JOIN ecftef.produtoestoque pe ON pe.idproduto = p.id "
+ "INNER JOIN ecftef.produtotrib pt ON pt.idproduto = p.id "
+ "INNER JOIN ecftef.embalagem emb ON emb.id = p.idemb "
como eu poderia fazer esse select em JPQL fiquei tentando bolar alguma coisa mas nao consegui fazer o Inner Join em Subquery no JPA