Have you seen the new @ScriptAssert constraint annotation in Hibernate Validator 4.1.0:
* A class-level constraint, that evaluates a script expression against the
* annotated element. This constraint can be used to implement validation
* routines, that depend on multiple attributes of the annotated element.
It'd be great if SpEL could be plugged in as the script expression language:
* For evaluation of expressions the Java Scripting API as defined by <a
* href="http://jcp.org/en/jsr/detail?id=223">JSR 223</a>
* ("Scripting for the Java<sup>TM</sup> Platform") is used. Therefore an
* implementation of that API must part of the class path. This is automatically
* the case when running on Java 6. For older Java versions, the JSR 223 RI can
* be added manually to the class path.
I noticed this when I needed a @FieldMatch type capability for doing field confirmation constraints. There is no such thing in JSR 303, Hibernate Validator, or Apachje Bean Validator, so I rolled my own class-level constraint from an example I found but then discovered this annotation after upgrading to Hibernate Validator 4.1.0.