Javafree

Hibernate Validator

Publicado por daltoncamargo em 09/09/2009 - 16.126 visualizações

Autor
Clayton K. N. Passos (netstart[@]gmail.com):
Viciado em tecnologia. Atualmente trabalha como Desenvolvedor/Analista Pleno.


Hibernate Validator
Seguindo o princípio da filosofia DRY (Don?t Repeat YourSelf), o Hibernate Validator trás uma forma de
adicionar regras para validação automática de dados, de maneira que estas validações sejam implementadas
uma e somente uma vez em toda a aplicação, eliminando a duplicação destas regras entre as diversas
camadas (presentation, data access, database schema).
Utilizar annotations para adicionar regras é bastante conveniente e elegante, com elas podemos definir várias
regras diretamente no modelo de classes persistente. O Hibernate Validator (H.V.) possuí algumas validações
comuns (@NotNull, @Email, @Max, @Length, entre outras), mas não prende o desenvolvedor, possibilitando, a
criação de validações personalizadas e internacionalizadas.
Cada annotation é associada a uma implementação de validação, que verifica se a instancia da entidade
obedece a sua regra. O Hibernate faz isto automaticamente antes de um insert ou update, mas você também
pode chamar a validação a qualquer momento em sua aplicação e de qualquer Java Persistence provider (JPA).
As validações podem ser utilizadas em dois níveis: aplicação e banco de dados. A primeira traz a
possibilidade de validar a instancia de classes através de suas regras em tempo de execução (veja o quadro de
constraints), enquanto que a segunda é incorporada ao Hibernate metamodel e ao database schema gerado,
traduzindo as regras que você adicionou no mapeamento de suas entidades. Por exemplo, se você adicionar
@NotNull a uma propriedade de sua entidade, a coluna irá ser declarada como not null no DDL schema
gerado pelo Hibernate (hbm2ddl). Caso você não queria mais este comportamento, basta atribuir false a
hibernate.validator.apply_to_ddl.
Este artigo está focado na primeira forma de validação.


Download:  HibernateValidator.pdf
Size:  193 KB

comentários: 0

Tópicos Relacionados