Hibernate Validator annotations not working

bean-validation, design-by-contract, hibernate, java

Solution

You should run the validation engine to check if it is valid or not:

public class Driver {
    public static void main(String[] args) {
        Person p = new Person();
        p.setName(null);

      ValidatorFactory factory = Validation.buildDefaultValidatorFactory();
      Set<ConstraintViolation<Person>> constraints = factory.getValidator().validate(p);
        // constraint will have the results of validation

    }
}

You also need to add `javax.validation:validation-api` to your classpath. Most of the frameworks do these validation logics behind the scene for avoiding boilerplate codes.

Problem

I just added `hibernate-validator-5.1.3.Final.jar` to my classpath and annotated a POJO: ``` public class Person { @NotNull private String name; // etc... } ``` Then I went to test it out with a driver: ``` public class Driver { public static void main(String[] args) { Person p = new Person(); p.setName(null); } } ``` This executes without throwing any validation errors - where am I going awry?

Original source