Pergunta

Eu sei que existem estruturas não padrão, como validador comum e validador de hibernação.

Queria saber se alguém conhece uma implementação do padrão oficial.

Foi útil?

Solução

O validador de hibernato é o implementação de referência de JSR-303

Outras dicas

Existem 2 implementações compatíveis agora:

Você pode acessar uma referência e uma descrição rápida de ambos aqui: http://carinae.net/2010/06/benchmarking-hibernate-validator-and-apache-beanvalidation-the-two-jsr-303-implementations/

Oval não é um validador JSR-303, mas pode converter restrições do JSR303 em suas próprias.

A estrutura da primavera tornou -se compatível com o JSR303 da versão 3, eu acho.

http://docs.spring.io/spring/docs/current/spring-framework-reference/html/validation.html#validation-beanValidation

O Spring Framework 4.0 suporta a validação do feijão 1.0 (JSR-303) e a validação do feijão 1.1 (JSR-349) em termos de suporte à configuração, também o adapta à interface do validador da Spring.

Quanto ao verão de 2018, existem três especificações que se sobrepõem:

  • JSR 380 (Validação de Bean 2.0)
  • JSR 349 ​​(Validação de Bean 1.1)
  • JSR 303 (Validação de Bean 1.0)

Você pode consultar o site oficial para mais detalhes.

Validador de hibernação 6.10 é uma implementação de referência da mais recente (380).Tem um ótimo documentação Eu recomendo dar uma olhada (no entanto, é algo muito grande).

Documentos da plataforma CUBA pode fornecer uma compreensão muito mais curta do tópico se você precisar apenas de uma introdução rápida.A estrutura CUBA é baseada em Spring e EclipseLink, então o que você aprendeu também pode ser usado em projetos regulares de Spring + Hibernate :)

O JSR 349 ​​é suportado por versões mais antigas do Hibernate Validator e por Apache BVal, ambos são "oficiais".

De ORMs diferentes do Hibernate, Eclipse Link suporta JSR 349 ​​e pode usar a interface Validator fornecida pela HV.

Se for possível, eu recomendaria não usar a versão mais antiga (JSR 303), mas mudar para as especificações 349 ou 380.Eles são bem mais maduros e ricos.

Bean Validation pode ser usado no projeto mesmo que não haja ORM nele, por exemplo, você pode usá-lo em seus aplicativos Java 2SE ou Android (veja isto artigo), no entanto, esta não é a abordagem para a qual a Validação de Bean foi projetada como algo principal.Embora seja possível usar esses validadores (HV e BVal) sozinhos (você teria que instanciar e chamar Validator e ExecutableValidator manualmente), eles realmente brilharão trabalhando em conjunto com frameworks como Hibernate, Spring ou CUBA

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top