Java Hibernate Validator-可选验证,具体取决于生命周期

Java Hibernate Validator-可选验证,具体取决于生命周期,java,validation,hibernate-validator,Java,Validation,Hibernate Validator,刚开始使用Hibernate验证器。我有一个例子,bean的id在保存时自动生成。我会在保存之前验证bean。此时id可以为空。但是,当我想要更新它时,id必须为notnull 因此,字段上的泛型@NotNull将不起作用,因为当我去保存它时,验证将失败 有很多方法可以解决这个问题,但我想知道规范或hibernate实现是否有一种标准的方法来解决这个问题。我希望保存时没有任何验证错误,更新时没有验证 例如应用一个约束,但它被忽略,除非隐式命名或类似的东西 提前感谢。您可以通过以下方式实现这一点

刚开始使用Hibernate验证器。我有一个例子,bean的id在保存时自动生成。我会在保存之前验证bean。此时id可以为空。但是,当我想要更新它时,id必须为notnull

因此,字段上的泛型@NotNull将不起作用,因为当我去保存它时,验证将失败

有很多方法可以解决这个问题,但我想知道规范或hibernate实现是否有一种标准的方法来解决这个问题。我希望保存时没有任何验证错误,更新时没有验证

例如应用一个约束,但它被忽略,除非隐式命名或类似的东西

提前感谢。

您可以通过以下方式实现这一点

不使用
id进行验证

validator.validate(myBean);
validator.validate(myBean, UpdateBean.class);
使用
id
进行验证:

validator.validate(myBean);
validator.validate(myBean, UpdateBean.class);