Oi Lucas!
Só retorno objeto na classe Imovel:
public Foto getAvatar() {
return avatar;
}
public void setAvatar(Foto avatar) {
this.avatar = avatar;
}
public List<Imovel> listaVenda() {
Criteria crit = session.createCriteria(Imovel.class);
crit.add(Restrictions.isNotNull("avatar"));
Criteria tipoCrit = crit.createCriteria("modalidade");
tipoCrit.add(Restrictions.eq("tipoModalidade", "Venda"));
crit.addOrder(Order.desc("dataInclusao"));
List results = crit.list();
return results;
}
O teste está funcionando na JSP para essa lista de venda, mas no de aluguel que não há imóvel cadastrado lança a exception.
Saca só a stacktrace para aluguel:
11:20:55,885 DEBUG [ExecuteMethodInterceptor] Invoking IndexController.listaAluguel()
Hibernate:
select
this_.cod_imovel as cod1_28_6_,
this_.area as area28_6_,
this_.avatar_id_foto as avatar9_28_6_,
this_.data_inclusao as data3_28_6_,
this_.descricao as descricao28_6_,
this_.id_endereco as id10_28_6_,
this_.medida as medida28_6_,
this_.cod_modalidade as cod11_28_6_,
this_.proprietario_id_proprietario as proprie12_28_6_,
this_.quartos as quartos28_6_,
this_.codigo_status as codigo13_28_6_,
this_.cod_tipo as cod14_28_6_,
this_.titulo as titulo28_6_,
this_.valor as valor28_6_,
foto3_.id_foto as id1_31_0_,
foto3_.descricao as descricao31_0_,
foto3_.imovel_cod_imovel as imovel5_31_0_,
foto3_.nome as nome31_0_,
foto3_.url_foto as url4_31_0_,
endereco4_.id_endereco as id1_26_1_,
endereco4_.bairro as bairro26_1_,
endereco4_.cep as cep26_1_,
endereco4_.cidade as cidade26_1_,
endereco4_.complemento as compleme5_26_1_,
endereco4_.estado as estado26_1_,
endereco4_.logradouro as logradouro26_1_,
endereco4_.numero as numero26_1_,
endereco4_.pais as pais26_1_,
modalidade1_.cod_modalidade as cod1_33_2_,
modalidade1_.tipo_modalidade as tipo2_33_2_,
proprietar6_.id_proprietario as id1_32_3_,
proprietar6_.data_inclusao as data2_32_3_,
proprietar6_.email as email32_3_,
proprietar6_.id_endereco as id4_32_3_,
proprietar6_.id_pessoa as id5_32_3_,
status7_.codigo_status as codigo1_35_4_,
status7_.nome as nome35_4_,
tipo8_.cod_tipo as cod1_34_5_,
tipo8_.nome as nome34_5_
from
Imovel this_
left outer join
Foto foto3_
on this_.avatar_id_foto=foto3_.id_foto
left outer join
Endereco endereco4_
on this_.id_endereco=endereco4_.id_endereco
inner join
Modalidade modalidade1_
on this_.cod_modalidade=modalidade1_.cod_modalidade
left outer join
Proprietario proprietar6_
on this_.proprietario_id_proprietario=proprietar6_.id_proprietario
left outer join
Status status7_
on this_.codigo_status=status7_.codigo_status
left outer join
Tipo tipo8_
on this_.cod_tipo=tipo8_.cod_tipo
where
this_.avatar_id_foto is not null
and modalidade1_.tipo_modalidade=?
order by
this_.data_inclusao desc
11:20:55,926 DEBUG [ToInstantiateInterceptorHandler] Invoking interceptor OutjectResult
11:20:55,934 DEBUG [ToInstantiateInterceptorHandler] Invoking interceptor ForwardToDefaultViewInterceptor
11:20:55,935 DEBUG [ForwardToDefaultViewInterceptor] forwarding to the dafault page for this logic
11:20:55,948 DEBUG [DefaultPageResult ] forwarding to /WEB-INF/jsp/index/listaAluguel.jsp
11:20:55,949 DEBUG [DefaultStaticContentHandler] Deferring request to container: /imobiliaria/WEB-INF/jsp/index/listaAluguel.jsp
Tá apontando pra pegar todos os dados direito. Essa ausência do imóvel que está provocando o erro.
Abraço!