Home > dica rapida, Hibernate, Java > coalesce – o nvl do hibernate

coalesce – o nvl do hibernate

Mais uma dica rápida e dessa vez não é sobre o git!
Uma funcionalidade relativamente bastante usada, principalmente em relatórios, é substituir dados nulos por algum valor padrão. Por exemplo, dada a seguinte tabela (Usuario) quero um select que liste os nomes dessa maneira: “David Paniz”, “Anonimo”.

IdNome
1‘David Paniz’
2null

Cada banco tem sua solução para esse problema. No oracle usamos a função nvl

select nvl(nome, 'Anonimo') from User

No mysql temos a ifnull

select ifnull(nome, 'Anonimo') from User

Para resolver o problema no Hibernate temos a função coalesce no hql

//Isso é HQL
select coalesce(nome, 'Anonimo') from User
  1. Gustavo
    July 29th, 2010 at 16:06 | #1

    Ótimo =D salvou meu trabalho =D

  1. No trackbacks yet.