Consulta com criteria incluindo chave nula

1 resposta
javahibernatesql
D

Queridos com essa consulta lista beleza os pedidos?
os pedidos com chave nula não aparecem.
Preciso que seja listados os pedidos com chave nula também quando eu não buscar pelo nome do cliente (sem cliente identificado).
alguém pode da uma ajuda qual restrição uso aqui?

valeu! obrigado

private Criteria criarCriteriaParaFiltro(PedidoFilter filtro) {
		Session session = this.manager.unwrap(Session.class);
		
		Criteria criteria = session.createCriteria(Pedido.class,"p")
				.createAlias("cliente", "c");
					
				
		
		//if (StringUtils.isNotBlank(filtro.getNomeCliente())) {
		if (StringUtils.isNotBlank(filtro.getNomeCliente())) {
			// acessamos o nome do cliente associado ao pedido pelo alias "c", criado anteriormente
			criteria.add(Restrictions.ilike("c.nome", filtro.getNomeCliente(), MatchMode.ANYWHERE));
				
		}
				
		return criteria;
	}

1 Resposta

L

Se você alterar a configuração do teu provider para exibir a query, verá que esse código está sendo convertido em um inner join e não em um left join, por isso está tendo este problema.
Aqui tem uma sugestão de como fazer.

Criado 29 de março de 2017
Ultima resposta 29 de mar. de 2017
Respostas 1
Participantes 2