Ola pessoa tenho esta consulta porem ela é um meio estranha e queria retirar ela da minha consulta porem não sei como fazer uma consulta mais simples
Alem que dentro desta consulta a classe ContasReceberRecebidas vem com uma lista e não sei como pegar esta lista na consuta
public ArrayList<LivroReceita> getLivro_Ordem_Servico(String ordemServico,int loja) {
final ArrayList<LivroReceita> minhalista = new ArrayList<LivroReceita>();
final ArrayList<ContasReceberRecebidas> c_receber = new ArrayList<ContasReceberRecebidas>();
Iterator it;
abrirTransacao();
try {
Query query=session.createQuery("From LivroReceita AS livro,"
+ "ContasReceberRecebidas as c_receber,"
+ "Cliente AS cliente,"
+ "Empresa AS empresa,"
+ "LocalAtendimento AS localAtendimento,"
+ "Venda venda "
+ " WHERE livro.ordemServico= :ordemServico "
+ "AND c_receber.fkVenda=livro.fkVenda "
+ "AND cliente.idCliente=livro.fkCliente "
+ "AND empresa.idLoja=livro.fkLoja "
+ "AND venda.fkLocalAtendimento=localAtendimento.idLocalAtendimento "
+ "AND venda.idVenda=livro.fkVenda "
+ "AND livro.fkLoja= :_empresa "
+ "ORDER BY livro.dataEntregaCliente ASC").setParameter("ordemServico", ordemServico).setParameter("_empresa",loja).setMaxResults(1);
it =query.list().iterator();
// System.out.println("X14");
fecharTransacao();
while (it.hasNext()){
LocalAtendimento localAtendimento=new LocalAtendimento();
System.out.println("X15 teste");
Object[] bl = (Object[]) it.next();
LivroReceita livro=(LivroReceita) bl[0] ;
ArrayList< ContasReceberRecebidas> c= (ArrayList<ContasReceberRecebidas>) bl[1] ;// esta é a classei que vem com uma lista porem nao sei como pegar os dados
// c_receber.add(c);
Cliente cliente=(Cliente) bl[2];
Empresa empresa=(Empresa)bl[3];
localAtendimento=(LocalAtendimento) bl[4];
Venda venda=(Venda) bl[5];
//livro.setContasReceberRecebidas(c);
System.out.println(venda.getValorTotalLiquido());
livro.setCliente(cliente);
livro.setEmpresa(empresa);
livro.setLocalAtendimento(localAtendimento);
livro.setVenda(venda);
minhalista.add(livro);
}
} catch (Exception e) {
logger.info("Erro consulta Ordem Servico"+e);
e.printStackTrace();;
}
return minhalista;
}