public class User {
    @NotBlank
    @Size(min=2)
    private final String firstName;
    @NotBlank
    @Size(min=2)
    private final String lastName;
    public User(String firstName, String lastName) {
        this.firstName = firstName;
        this.lastName = lastName;
    }
    public String getFirstName() {
        return firstName;
    }
    public String getLastName() {
        return lastName;
    }
}
I want to validate properties firstName and lastName. But I don't want to repeat the annotations everytime.
How can I create a custom annotation, so the code will be like
public class User {
    @UserName
    private final String firstName;
    @UserName
    private final String lastName;
    public User(String firstName, String lastName) {
        this.firstName = firstName;
        this.lastName = lastName;
    }
    public String getFirstName() {
        return firstName;
    }
    public String getLastName() {
        return lastName;
    }
}
and validation will be the same
 
    