|
The Bean Validation API (JSR0303) can be hooked up with JPA so that you have validation
of an objects values prior to persistence, update and deletion. To do this
-
Put the
javax.validation
"validation-api" jar in your CLASSPATH, along with the
Bean Validation implementation jar of your choice
-
Set the persistence property
javax.persistence.validation.mode
to one
of
auto
(default),
none
, or
callback
-
Optionally set the persistence property(s)
javax.persistence.validation.group.pre-persist
,
javax.persistence.validation.group.pre-update
,
javax.persistence.validation.group.pre-remove
to fine tune the behaviour
-
Use JPA as you normally would for persisting objects
To give a simple example of what you can do with the Bean Validation API
@Entity
public class Person
{
@Id
@NotNull
private Long id;
@NotNull
@Size(min = 3, max = 80)
private String name;
...
}
So we are validating that instances of the
Person
class will have an "id" that is not null
and that the "name" field is not null and between 3 and 80 characters. If it doesn't validate then
at persist/update an exception will be thrown.
|
|