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”.

Id Nome
1 ‘David Paniz’
2 null

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
Tagged with: , , , ,
Posted in dica rapida, Hibernate, Java
One comment on “coalesce – o nvl do hibernate
  1. Gustavo says:

    Ótimo =D salvou meu trabalho =D

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>