11.07.2015 Views

Persistência com JPA2 e Hibernate - Inpi

Persistência com JPA2 e Hibernate - Inpi

Persistência com JPA2 e Hibernate - Inpi

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

BEAN VALIDATION E HIBERNATEVALIDATORA P Ê N D I C ECUma tarefa extremamente <strong>com</strong>um no desenvolvimento de aplicações JPA é a validação dos dadosdas instâncias da entidades. Por exemplo, considere a entidade a seguir.1 @Entity2 public class Pessoa {34 @Id5 @GeneratedValue6 private Long id;78 private String nome ;910 }Código Java C.1: Pessoa.javaAntes de persistir ou atualizar os dados de um objeto de uma classe Pessoa no banco de dados,pode ser necessário verificar se o atributo nome desse objeto não é nulo.Na plataforma Java, uma especificação foi definida para padronizar a tarefa de validação dosobjetos do domínio de uma aplicação. O nome dessa especificação é Bean Validation e ela podeser obtida em http://jcp.org/en/jsr/detail?id=303. O projeto <strong>Hibernate</strong> Validator é a implementaçãode referência da Bean Validation e pode ser obtido em http://www.hibernate.org/subprojects/validator/download. utilizaremos a versão 4.3.0 do projeto <strong>Hibernate</strong> Validator.Neste capítulo, mostraremos <strong>com</strong>o utilizar os recursos básicos definidos pela especificação BeanValidation e implementados pelo projeto <strong>Hibernate</strong> Validator.Regras de ValidaçãoAs regras de validação podem ser definidas através de anotações inseridas nos atributos das entidades.A especificação Bean Validation define um conjunto padrão de anotações para definir asregras de validação.Veja abaixo as anotações disponíveis e suas respectivas funções.• @AssertFalseVerifica se uma propriedade booleana possui valor false.• @AssertTrueVerifica se uma propriedade booleana possui valor true.• @DecimalMaxDefine o valor real máximo que uma propriedade pode armazenar.www.k19.<strong>com</strong>.br 135

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!