X-Git-Url: https://juplo.de/gitweb/?p=hibernate4-maven-plugin;a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fde%2Fjuplo%2Fplugins%2Fhibernate4%2FValidationConfiguration.java;h=6748ba5e4f1c6272b9cf025bebe072be74572475;hp=a1592f73918b396ee87e37ff8b06a5168c25d03a;hb=1979c6349fc2a9e0fe3f028fa1cc76557b32031c;hpb=c3a16dc3704517d53501914bb8a0f95f856585f4 diff --git a/src/main/java/de/juplo/plugins/hibernate4/ValidationConfiguration.java b/src/main/java/de/juplo/plugins/hibernate4/ValidationConfiguration.java index a1592f73..6748ba5e 100644 --- a/src/main/java/de/juplo/plugins/hibernate4/ValidationConfiguration.java +++ b/src/main/java/de/juplo/plugins/hibernate4/ValidationConfiguration.java @@ -1,9 +1,9 @@ package de.juplo.plugins.hibernate4; -import java.lang.reflect.Method; -import java.util.Collection; -import java.util.Properties; +import javax.validation.Validation; + import org.hibernate.cfg.Configuration; +import org.hibernate.cfg.beanvalidation.TypeSafeActivatorAccessor; import org.hibernate.dialect.Dialect; import org.hibernate.metamodel.source.MappingException; @@ -20,16 +20,21 @@ import org.hibernate.metamodel.source.MappingException; * SchemaExport, some fancy subclassing is needed to invoke the integration * at the right time. * @author Mark Robinson + * @author Frank Schimmel */ public class ValidationConfiguration extends Configuration { - Class dialectClass; + private static final long serialVersionUID = 1L; + + private Class dialectClass; - public ValidationConfiguration(String dialectClass) - throws - ClassNotFoundException + public ValidationConfiguration(final String dialectClass) { - this.dialectClass = Class.forName(dialectClass); + try { + this.dialectClass = (Class) Class.forName(dialectClass); + } catch (ClassNotFoundException e) { + throw new RuntimeException(e); + } } @Override @@ -39,19 +44,8 @@ public class ValidationConfiguration extends Configuration try { - /** Thank you, hibernate folks, for making this useful class package private ... */ - Method applyDDL = - Class - .forName("org.hibernate.cfg.beanvalidation.TypeSafeActivator") - .getMethod( - "applyRelationalConstraints", - Collection.class, - Properties.class, - Dialect.class - ); - applyDDL.setAccessible(true); - applyDDL.invoke( - null, + TypeSafeActivatorAccessor.applyRelationalConstraints( + Validation.buildDefaultValidatorFactory(), classes.values(), getProperties(), dialectClass.newInstance()