The bean validation API also supports graph validation, which means that if some object is referencing another one, you can define a constraint that your embedded object should also be validated from the owner's one context, according to the constraints defined in the embedded object.
Let's try this with an example; we will define a Producer class with a constraint on the name attribute as follows:
public class Producer {
@NotNull
private String name;
// setters and getters here
}
Then, we will modify our Movie object so it references an instance of the Producer object, as follows:
public class Movie {
@NotNull
private String title;
@Valid
private Producer producer;
public Movie() {
}
// setters and getters here
}
Note the @Valid attribute; it tells the bean validator that when validating...