To quebrando a cabeca desde ontem… quem souber/puder ajudar… 
Um ItemPedidoCompra possui um atributo qtdePedida, que seria um numero de pecas a serem criadas. Essas pecas sao criadas em ordens de servico, que sao representadas no sistema pela classe Os. Essa classe possui um atributo qtdePecas, que seriam as pecas a serem criadas nessa OS. Para fechar um ItemPedidoCompra, temos que abrir uma ou mais OS’s de forma que a soma de qtdePecas de todas as OS’s seja igual a qtdePedida do ItemPedidoCompra. Caso contrario, esse ItemPedidoCompra esta pendente.
Esse é o ponto… eu preciso fazer uma query q busque todos os itens pendentes… vou mostrar o mapeamento:
ItemPedidoCompra.hbm.xml
[code]
<id name="id" column="id">
<generator class="increment"/>
</id>
<property name="nome"/>
<property name="qtdePedida"/>
<property name="precoUnitario"/>
<property name="dataEntrega"/>
<property name="ordemCliente"/>
<property name="projetoCliente"/>
<property name="codMateriaPrima"/>
<property name="numSerieMP"/>
<many-to-one name="pedidoCompra" column="idPedidoCompra" lazy="false"
class="br.com.nomus.modelo.entidade.PedidoCompra"/>
<many-to-one name="produto" column="idProduto" lazy="false"
class="br.com.nomus.modelo.entidade.Produto"/>
<bag name="materiasPrima" lazy="false">
<key column="idItemPedidoCompra"/>
<one-to-many class="br.com.nomus.modelo.entidade.MateriaPrima"/>
</bag>
<bag name="os" lazy="false">
<key column="idItemPedidoCompra"/>
<one-to-many class="br.com.nomus.modelo.entidade.Os"/>
</bag>
<bag name="observacoes" table="observacao_itempedidocompra" lazy="false">
<key column="idItemPedidoCompra"/>
<many-to-many column="idObservacao" class="br.com.nomus.modelo.entidade.Observacao"/>
</bag>
</class>
[/code]
Os.hbm.xml
[code]
<id name="id" column="id">
<generator class="increment" />
</id>
<property name="nome"/>
<property name="qtdePecas"/>
<property name="qtdeFaturada"/>
<property name="qtdeSucateada"/>
<many-to-one name="itemPedidoCompra" column="idItemPedidoCompra"
lazy="false"
class="br.com.nomus.modelo.entidade.ItemPedidoCompra"/>
<bag name="faturamentos" lazy="false">
<key column="idOs"/>
<one-to-many class="br.com.nomus.modelo.entidade.Faturamento"/>
</bag>
<bag name="observacoes" table="observacao_itempedidocompra" lazy="false">
<key column="idItemPedidoCompra"/>
<many-to-many column="idObservacao" class="br.com.nomus.modelo.entidade.Observacao"/>
</bag>
</class>
[/code]
Abaixo a query que eu fiz, esta errada… :oops:
String hql = "select itens from ItemPedidoCompra itens"
+ " join itens.os os"
+ " where itens.qtdePedida > (select sum(os.qtdePecas) from Os)";
alguem pode dar uma ajuda? 
valeu pessoal! 