bonfarj wrote:Imaginem que uma classe Pedido possui um atributo List<ItemPedido> itensPedido. A classe ItemPedido é abstrata, temos duas especializações, as classes ItemPedidoProducao e ItemPedidoFaturamento.
Eu queria criar uma consulta que retorna todos os pedidos onde itensPedido possui ao menos um ItemPedidoFaturamento. Como é possível fazer isso? Usei discriminator para o mapeamento, provisoriamente um amigo fez uma query com SQL para contornar o problema, mas queria fazer com HQL ou Criteria.
abraços!
Qual o objetivo da consulta? Se for apenas para usar em relatório, talvez seja melhor usar jdbc/sql mesmo pois usando uma abordagem OO vc vai ter que iterar itensPedido pra saber se tem alguém que seja instanceof ItemPedidoFaturamento e acho que isto não vai ser tão performático quanto uma query sql simples e direta usando exists.
Não sei se tem alguma forma ou hint pra resolver isto mais facilmente com ORM.
[]s