Tenho duas classes de clientes, uma de cliente físico e outra de cliente jurídico, as duas herdam da classe pessoa, quando preciso trazer uma lista de uma delas eu faço issono DAO:
[code]
public List listarClienteFisico(){
List lista;
Session session = HibernateUtil.getSession();
Transaction tr = session.beginTransaction();
Criteria cr = session.createCriteria(ClienteFisica.class);
cr.addOrder(Order.asc("nome"));
lista = cr.list();
tr.commit();
return lista;
}[/code]
Como faço para me trazer o resultado das duas tabelas de clientes ao mesmo tempo uma só list?
Faz um list de Pessoa!
E no DAO popula com as duas consultas…
public List<Pessoa> listarCliente(){
List<Pessoa> lista = ArrayList<Pessoa>();
Session session = HibernateUtil.getSession();
Transaction tr = session.beginTransaction();
Criteria cr1 = session.createCriteria(ClienteFisica.class);
cr1.addOrder(Order.asc("nome"));
Criteria cr2 = session.createCriteria(ClienteJuridica.class);
cr2.addOrder(Order.asc("nome"));
lista.addAll(cr1.list());
lista.addAll(cr2.list());
tr.commit();
return lista;
}
Acho que funciona…
Vlw, estou respondendo do celular então não posso testar agora, mas assim que chegar em casa vou testar.