JavaBean验证2.0与hibernate验证程序

JavaBean验证2.0与hibernate验证程序,java,hibernate,validation,javabeans,bean-validation,Java,Hibernate,Validation,Javabeans,Bean Validation,JavaBeanValidation2.0和HibernateValidator的区别是什么。 两者是相同的还是不同的。因为两者看起来都一样。您能讨论一下JavaBeanValidation2.0和HibernateValidator之间的区别吗 我应该在我的项目中使用哪一个 谢谢,Bean Validation 2.0是一个定义API的Java规范 Bean验证api jar,例如Validation-api-2.0.1.jar,只包含接口/注释等,没有实现 Hibernate Validat

JavaBeanValidation2.0和HibernateValidator的区别是什么。 两者是相同的还是不同的。因为两者看起来都一样。您能讨论一下JavaBeanValidation2.0和HibernateValidator之间的区别吗

我应该在我的项目中使用哪一个


谢谢,Bean Validation 2.0是一个定义API的Java规范

Bean验证api jar,例如Validation-api-2.0.1.jar,只包含接口/注释等,没有实现

Hibernate Validator(6.0.1+)是参考实现,目前是JSR-380的唯一实现

Java规范(JSR)是在(JCP)下开发的。除了提供API的形式化规范外,JSR通常还包括一个参考实现,但其他供应商可以自由提供自己的实现

将其与Java持久性API(JPA)规范进行比较。有几个不同的供应商在竞争,包括Hibernate、EclipseLink(JSR-317的参考实现)、OpenJPA等


在Bean Validation 2.0的情况下,目前没有竞争性的实现,只有参考实现。

我确信这些实现是不同的。因为hibernate验证器也适用于DB查询级别,而java bean验证器则不适用。另外,您介意把您迄今为止尝试过的东西放在这里吗?您能提供一些区别吗?您是说SLF4j是规范log4j是实现吗。因此,您可以使用SLF4j-Log4j组合进行日志记录,这里也一样:这意味着我们可以使用Bean Validation 2.0-Hibernate Validator组合进行验证。类似的,除了:1)SLF4j是一个外观,其中SLF4j api jar包含一个委托给适当日志框架的实现,如适配器模式。Bean验证api jar,例如
Validation-api-2.0.1.jar
,只包含接口/注释等,没有实现。没有代表团。2) SLF4J没有标准化规范。所以其他人不能在实现上竞争。你也可以这样回答:“Bean验证api jar,例如Validation-api-2.0.1.jar,只包含接口/注释等,没有实现。”