Comment valider un argument de méthode avec @Validé annotation basée sur le groupe

J'ai une entité XYZ.java

@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
@ToString
public class XYZ extends BaseEntity implements Serializable {

  @NotNull (groups = {Groups.Insert.class, Groups.Delete.class, Groups.Update.class, Groups.Select.class})
  private String X;

et il y a une interface XYZCRUD.javaà faire des opérations CRUD sur XYZ.java

@Validated
public interface XYZCRUD {

  public int insert(@Valid XYZ entity) throws SomeException;

Bien que javax @Valide qui fonctionne pour @NotNull de validation, mais il ne prend pas en charge la transmission de la validation de l'annotation de l'attribut de la méthode de là où je suis le déclenchement de la validation .
J'ai donc essayé d'utiliser @Validé annotation qui ne permet pas le passage de groupes via un attribut "value" comme ce

@Validated
public interface XYZCRUD {

      public int insert(@Validated(value=SomeGroup.class) XYZ entity) throws SomeException;

Cependant, il ne déclenche pas la validation.J'ai essayé après avoir retiré les groupes d'attribut sur le terrain et aussi de la gâchette d'annotation.

Conclusion : @Validé ne déclenche pas @NotNull

Questions :

  1. Pourquoi @Validé ne déclenche pas la javax @NotNull ? Suis-je en train de faire quelque chose
    incorrect ou n'est-il pas le soutenir?
  2. Est-il une autre manière? ne peut pas mettre en œuvre de validation personnalisée

REMARQUE : je suis aussi à l'aide de lombok si elle a quelque chose à voir avec cela.

OriginalL'auteur mayank vats | 2015-08-05