X-Git-Url: https://juplo.de/gitweb/?p=hibernate4-maven-plugin;a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fde%2Fjuplo%2Fplugins%2Fhibernate4%2FHbm2DdlMojo.java;h=044e3307ec7aa47f2d203426fb7400751fb57777;hp=3b3a72b79137b1d7a46b4d19775e3f4c40ff838f;hb=02312592d27d628cc7e0d8e28cc40bf74a80de21;hpb=bf5e8c39287713b9eb236ca441473f723059357a diff --git a/src/main/java/de/juplo/plugins/hibernate4/Hbm2DdlMojo.java b/src/main/java/de/juplo/plugins/hibernate4/Hbm2DdlMojo.java index 3b3a72b7..044e3307 100644 --- a/src/main/java/de/juplo/plugins/hibernate4/Hbm2DdlMojo.java +++ b/src/main/java/de/juplo/plugins/hibernate4/Hbm2DdlMojo.java @@ -19,6 +19,7 @@ package de.juplo.plugins.hibernate4; import com.pyx4j.log4j.MavenLogAppender; import java.io.File; import java.io.FileInputStream; +import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; @@ -28,6 +29,7 @@ import java.math.BigInteger; import java.net.URL; import java.net.URLClassLoader; import java.security.MessageDigest; +import java.security.NoSuchAlgorithmException; import java.sql.Connection; import java.sql.Driver; import java.sql.DriverManager; @@ -48,11 +50,13 @@ import java.util.logging.Logger; import javax.persistence.Embeddable; import javax.persistence.Entity; import javax.persistence.MappedSuperclass; +import org.apache.maven.model.Resource; import org.apache.maven.plugin.AbstractMojo; import org.apache.maven.plugin.MojoExecutionException; import org.apache.maven.plugin.MojoFailureException; import org.apache.maven.project.MavenProject; import org.hibernate.cfg.Configuration; +import org.hibernate.cfg.NamingStrategy; import org.hibernate.tool.hbm2ddl.SchemaExport; import org.hibernate.tool.hbm2ddl.SchemaExport.Type; import org.hibernate.tool.hbm2ddl.Target; @@ -77,6 +81,7 @@ public class Hbm2DdlMojo extends AbstractMojo public final static String USERNAME = "hibernate.connection.username"; public final static String PASSWORD = "hibernate.connection.password"; public final static String DIALECT = "hibernate.dialect"; + public final static String NAMING_STRATEGY="hibernate.ejb.naming_strategy"; private final static String MD5S = "schema.md5s"; @@ -85,7 +90,7 @@ public class Hbm2DdlMojo extends AbstractMojo *
* Only needed internally. * - * @parameter expression="${project}" + * @parameter property="project" * @required * @readonly */ @@ -96,7 +101,7 @@ public class Hbm2DdlMojo extends AbstractMojo *
* Only needed internally.
*
- * @parameter expression="${project.build.directory}"
+ * @parameter property="project.build.directory"
* @required
* @readonly
*/
@@ -108,7 +113,7 @@ public class Hbm2DdlMojo extends AbstractMojo
* This parameter defaults to the maven build-output-directory for classes.
* Additonally, all dependencies are scanned for annotated classes.
*
- * @parameter expression="${project.build.outputDirectory}"
+ * @parameter property="project.build.outputDirectory"
*/
private String outputDirectory;
@@ -118,7 +123,7 @@ public class Hbm2DdlMojo extends AbstractMojo
* If this parameter is set to true
the test-classes of the
* artifact will be scanned for hibernate-annotated classes additionally.
*
- * @parameter expression="${hibernate.export.scann_testclasses}" default-value="false"
+ * @parameter property="hibernate.export.scan_testclasses" default-value="false"
*/
private boolean scanTestClasses;
@@ -131,7 +136,7 @@ public class Hbm2DdlMojo extends AbstractMojo
* This parameter is only used, when scanTestClasses
is set
* to true
!
*
- * @parameter expression="${project.build.testOutputDirectory}"
+ * @parameter property="project.build.testOutputDirectory"
*/
private String testOutputDirectory;
@@ -146,7 +151,7 @@ public class Hbm2DdlMojo extends AbstractMojo
* The excecution is skipped automatically, if no modified or newly added
* annotated classes are found and the dialect was not changed.
*
- * @parameter expression="${maven.test.skip}" default-value="false"
+ * @parameter property="maven.test.skip" default-value="false"
*/
private boolean skip;
@@ -158,45 +163,51 @@ public class Hbm2DdlMojo extends AbstractMojo
*
* skip
takes precedence over force
.
*
- * @parameter expression="${hibernate.export.force}" default-value="false"
+ * @parameter property="hibernate.export.force" default-value="false"
*/
private boolean force;
/**
* SQL-Driver name.
*
- * @parameter expression="${hibernate.connection.driver_class}
+ * @parameter property="hibernate.connection.driver_class"
*/
private String driverClassName;
/**
* Database URL.
*
- * @parameter expression="${hibernate.connection.url}"
+ * @parameter property="hibernate.connection.url"
*/
private String url;
/**
* Database username
*
- * @parameter expression="${hibernate.connection.username}"
+ * @parameter property="hibernate.connection.username"
*/
private String username;
/**
* Database password
*
- * @parameter expression="${hibernate.connection.password}"
+ * @parameter property="hibernate.connection.password"
*/
private String password;
/**
* Hibernate dialect.
*
- * @parameter expression="${hibernate.dialect}"
+ * @parameter property="hibernate.dialect"
*/
private String hibernateDialect;
+ /**
+ * Hibernate Naming Strategy
+ * @parameter property="hibernate.ejb.naming_strategy"
+ */
+ private String hibernateNamingStrategy;
+
/**
* Path to Hibernate configuration file.
*
@@ -204,6 +215,14 @@ public class Hbm2DdlMojo extends AbstractMojo
*/
private String hibernateProperties;
+ /**
+ * List of Hibernate-Mapping-Files (XML).
+ * Multiple files can be separated with white-spaces and/or commas.
+ *
+ * @parameter property="hibernate.mapping"
+ */
+ private String hibernateMapping;
+
/**
* Target of execution:
*