Projekt-Dokumentation (Aktueller Stand von juplo.de) hinzugefĆ¼gt
[website] / dist / hibernate4-maven-plugin-1.0.1 / configuration.html
diff --git a/dist/hibernate4-maven-plugin-1.0.1/configuration.html b/dist/hibernate4-maven-plugin-1.0.1/configuration.html
new file mode 100644 (file)
index 0000000..40567ee
--- /dev/null
@@ -0,0 +1,201 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">\r
+<!-- Generated by Apache Maven Doxia at Jan 15, 2013 -->\r
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">\r
+  <head>\r
+    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />\r
+    <title>Hibernate 4 Maven Plugin - </title>\r
+    <style type="text/css" media="all">\r
+      @import url("./css/maven-base.css");\r
+      @import url("./css/maven-theme.css");\r
+      @import url("./css/site.css");\r
+    </style>\r
+    <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />\r
+    <meta name="Date-Revision-yyyymmdd" content="20130115" />\r
+    <meta http-equiv="Content-Language" content="en" />\r
+                                                    
+<script type="text/javascript"><!--
+
+        var _gaq = _gaq || [];
+        _gaq.push(['_setAccount', 'UA-571104-3']);
+        _gaq.push(['_trackPageview']);
+
+        (function() {
+          var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
+          ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+          var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
+        })();
+
+      //--></script>\r
+                      \r
+  </head>\r
+  <body class="composite">\r
+    <div id="banner">\r
+                    <div id="bannerLeft">\r
+                Hibernate 4 Maven Plugin\r
+                </div>\r
+                    <div class="clear">\r
+        <hr/>\r
+      </div>\r
+    </div>\r
+    <div id="breadcrumbs">\r
+            \r
+        \r
+                <div class="xleft">\r
+        <span id="publishDate">Last Published: 2013-01-15</span>\r
+                  &nbsp;| <span id="projectVersion">Version: 1.0.1</span>\r
+                          |                           <a href="http://juplo.de" class="externalLink" title="juplo">juplo</a>\r
+                          </div>\r
+            <div class="xright">        \r
+        \r
+      </div>\r
+      <div class="clear">\r
+        <hr/>\r
+      </div>\r
+    </div>\r
+    <div id="leftColumn">\r
+      <div id="navcolumn">\r
+             \r
+        \r
+                                <h5>Overview</h5>\r
+                  <ul>\r
+                  <li class="none">\r
+                          <a href="index.html" title="Introduction">Introduction</a>\r
+            </li>\r
+                  <li class="none">\r
+            <strong>Configuration Examples</strong>\r
+          </li>\r
+                  <li class="none">\r
+                          <a href="export-mojo.html" title="Parameter Documentation">Parameter Documentation</a>\r
+            </li>\r
+                  <li class="none">\r
+                          <a href="debugging.html" title="Enable Debug-Output">Enable Debug-Output</a>\r
+            </li>\r
+                  <li class="none">\r
+                          <a href="force.html" title="Force Exceution">Force Exceution</a>\r
+            </li>\r
+                  <li class="none">\r
+                          <a href="pitfalls.html" title="Known Pitfalls">Known Pitfalls</a>\r
+            </li>\r
+          </ul>\r
+                       <h5>Project Documentation</h5>\r
+                  <ul>\r
+                                                                                                                                                                                                                                                        <li class="collapsed">\r
+                          <a href="project-info.html" title="Project Information">Project Information</a>\r
+                  </li>\r
+                                                                                                                                            <li class="collapsed">\r
+                          <a href="project-reports.html" title="Project Reports">Project Reports</a>\r
+                  </li>\r
+          </ul>\r
+                             <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">\r
+        <img class="poweredBy" alt="Built by Maven" src="./images/logos/maven-feather.png" />\r
+      </a>\r
+                   \r
+        \r
+            </div>\r
+    </div>\r
+    <div id="bodyColumn">\r
+      <div id="contentBox">\r
+        <div class="section"><h2>Configuration Examples<a name="Configuration_Examples"></a></h2><div class="section"><h3>Configuration through a hibernate.properties-File<a name="Configuration_through_a_hibernate.properties-File"></a></h3><p>The most simple way to configure the plugin is, to put all the hibernate-configuration in a <b>hibernate.properties</b>-file on your classpath. Put the file in the <tt>resources</tt>-folder. Maven will put it in the <tt>class</tt>-folder of your webapp, where it will be picked up by this plugin as well as by Hibernate 4.</p><p>Doing so, the only additionally configuration needed, to activat the plugin is the following entry in the <tt>plugins</tt>-section of your <tt>pom.xml</tt>:</p><div><pre>&lt;plugin&gt;
+  &lt;groupId&gt;de.juplo&lt;/groupId&gt;
+  &lt;artifactId&gt;hibernate4-maven-plugin&lt;/artifactId&gt;
+  &lt;version&gt;1.0.1&lt;/version&gt;
+  &lt;executions&gt;
+    &lt;execution&gt;
+      &lt;goals&gt;
+        &lt;goal&gt;export&lt;/goal&gt;
+      &lt;/goals&gt;
+    &lt;/execution&gt;
+  &lt;/executions&gt;
+&lt;/plugin&gt;</pre></div><p>But be aware, that in this case the database-url, that is build in the application is the same that is used while testing, where the database is droped and recreated by the plugin. <tt>So, you should never fire up this configuration on your production system, or your database might be erased!</tt></p><p>Hence, you should specify a different url for testing like in the following snippet:</p><div><pre>&lt;plugin&gt;
+  &lt;groupId&gt;de.juplo&lt;/groupId&gt;
+  &lt;artifactId&gt;hibernate4-maven-plugin&lt;/artifactId&gt;
+  &lt;version&gt;1.0.1&lt;/version&gt;
+  &lt;executions&gt;
+    &lt;execution&gt;
+      &lt;goals&gt;
+        &lt;goal&gt;export&lt;/goal&gt;
+      &lt;/goals&gt;
+    &lt;/execution&gt;
+  &lt;/executions&gt;
+  &lt;configuration&gt;
+    &lt;url&gt;&lt;![CDATA[jdbc:mysql://localhost/test-db]]&gt;&lt;/url&gt;
+  &lt;/configuration&gt;
+&lt;/plugin&gt;</pre></div><p>Configuration properties, that are set in the <tt>configuration</tt>-section of the plugin-configuration cannnot be overwritten elsewere (for details see <a href="#Configuration-Method-Precedence">Configuration-Method-Precedence</a>). You never can overwrite them by accident when specifying a property on the commandline or in your <tt>settings.xml</tt>.</p></div><div class="section"><h3>Configuration through maven-properties<a name="Configuration_through_maven-properties"></a></h3><p>Alternatively, it is possible, to configure the plugin via maven-properties. Each relevant configuration-option has a corresponding maven-property (for a full list see the <a href="./export-mojo.html"> Documentation of the export-Mojo</a>). These are named after the <a class="externalLink" href="http://docs.jboss.org/hibernate/orm/4.1/manual/en-US/html_single/#configuration-hibernatejdbc"> Hibernate JDBC Properties</a>:</p><ul><li><tt>hibernate.connection.driver_class</tt></li><li><tt>hibernate.dialect</tt></li><li><tt>hibernate.connection.url</tt></li><li><tt>hibernate.connection.username</tt></li><li><tt>hibernate.connection.password</tt></li></ul><p>So, instead of writing the hibernate-configuration in the properties-file, like above, you could put it in the <tt>properties</tt>-section of your <tt>pom.xml</tt>.</p><p>Thogether with the plugin-definition from above, the following would be a complete configuration (again, the database-url was overwritten in the plugin-configuration, to be sure to have a separate database for testing):</p><div><pre>&lt;properties&gt;
+  &lt;hibernate.connection.driver_class&gt;org.hsqldb.jdbcDriver&lt;/hibernate.connection.driver_class&gt;
+  &lt;hibernate.dialect&gt;org.hibernate.dialect.HSQLDialect&lt;/hibernate.dialect&gt;
+  &lt;hibernate.connection.url&gt;&lt;![CDATA[jdbc:hsqldb:res:org.my.path.production_db]]&gt;&lt;/hibernate.connection.url&gt;
+  &lt;hibernate.connection.username&gt;sa&lt;/hibernate.connection.username&gt;
+  &lt;hibernate.connection.password&gt;&lt;/hibernate.connection.password&gt;
+&lt;/properties&gt;
+
+...
+
+&lt;plugins&gt;
+
+  ...
+
+  &lt;plugin&gt;
+    &lt;groupId&gt;de.juplo&lt;/groupId&gt;
+    &lt;artifactId&gt;hibernate4-maven-plugin&lt;/artifactId&gt;
+    &lt;version&gt;1.0.1&lt;/version&gt;
+    &lt;executions&gt;
+      &lt;execution&gt;
+        &lt;goals&gt;
+          &lt;goal&gt;export&lt;/goal&gt;
+        &lt;/goals&gt;
+      &lt;/execution&gt;
+    &lt;/executions&gt;
+    &lt;configuration&gt;
+      &lt;url&gt;&lt;![CDATA[jdbc:hsqldb:target/db/testdb;shutdown=true]]&gt;&lt;/url&gt;
+    &lt;/configuration&gt;
+  &lt;/plugin&gt;
+
+&lt;plugins&gt;</pre></div></div><div class="section"><h3>Configuration through the plugin-configuration<a name="Configuration_through_the_plugin-configuration"></a></h3><p>A third way for configuring the plugin is the plugin-configuration. The relevant configuration-parameters are:</p><ul><li><tt>driverClassName</tt></li><li><tt>hibernateDialect</tt></li><li><tt>url</tt></li><li><tt>username</tt></li><li><tt>password</tt></li></ul><p>The equivalent of the configuration from the last section would look like this:</p><div><pre>&lt;plugin&gt;
+  &lt;groupId&gt;de.juplo&lt;/groupId&gt;
+  &lt;artifactId&gt;hibernate4-maven-plugin&lt;/artifactId&gt;
+  &lt;version&gt;1.0.1&lt;/version&gt;
+  &lt;executions&gt;
+    &lt;execution&gt;
+      &lt;goals&gt;
+        &lt;goal&gt;export&lt;/goal&gt;
+      &lt;/goals&gt;
+    &lt;/execution&gt;
+  &lt;/executions&gt;
+  &lt;configuration&gt;
+    &lt;driverClassName&gt;org.hsqldb.jdbcDriver&lt;/driverClassName&gt;
+    &lt;hibernateDialect&gt;org.hibernate.dialect.HSQLDialect&lt;/hibernateDialect&gt;
+    &lt;url&gt;&lt;![CDATA[jdbc:hsqldb:target/db/fotos;shutdown=true]]&gt;&lt;/url&gt;
+    &lt;username&gt;sa&lt;/username&gt;
+    &lt;password&gt;&lt;/password&gt;
+  &lt;/configuration&gt;
+&lt;/plugin&gt;</pre></div><p>There are some seldom used parameters, that can only be configured throug this method:</p><ul><li><b>delimiter</b> the delimiter used in the generated sql-script</li><li><b>format</b> wether the generated sql-script is formatted, or not</li><li><b>hibernateProperties</b> name of the hibernate-properties-file</li><li><b>outputFile</b> name of the generated sql-script</li><li><b>target</b> create database or generate sql-script or both</li><li><b>type</b> create or drop the database or do both or nothing (just validate the annotation-configuration)</li></ul><p>For explanations, see the <a href="./export-mojo.html"> Documentation of the export-Mojo</a>.</p></div></div><div class="section"><h2><a name="Configuration-Method-Precedence">Configuration-Method-Precedence</a><a name="Configuration-Method-Precedence"></a></h2><p>The configuration is gathered in a fix order:</p><ol style="list-style-type: decimal"><li><tt>hibernate.properties</tt></li><li>maven-properties</li><li>plugin-configuration</li></ol><p>If you are in doubt about where a configuration-value comes from, run maven with the <a href="./debugging.html">debug-output</a> enabled: <tt>mvn -X hibernate4:export</tt> and be aware, that maven-properties can be overwitten on the command-line, in your <tt>~/.m2/settings.xml</tt> and in a profile.</p><p>The plugin-configuration comes last and overwrites everything else. That way, you can be sure, that a configuration-value, that is specified in the plugin-configuration will never be overwritten by any other configuration-method.</p><p>If you realy need to overwrite plugin-configuration-values with maven-properties, you can use maven-properties in the plugin-configuration:</p><div><pre>&lt;plugin&gt;
+  &lt;groupId&gt;de.juplo&lt;/groupId&gt;
+  &lt;artifactId&gt;hibernate4-maven-plugin&lt;/artifactId&gt;
+  &lt;version&gt;1.0.1&lt;/version&gt;
+  &lt;executions&gt;
+    &lt;execution&gt;
+      &lt;goals&gt;
+        &lt;goal&gt;export&lt;/goal&gt;
+      &lt;/goals&gt;
+    &lt;/execution&gt;
+  &lt;/executions&gt;
+  &lt;configuration&gt;
+    &lt;password&gt;${my-password-property}&lt;/password&gt;
+  &lt;/configuration&gt;
+&lt;/plugin&gt;</pre></div></div>\r
+      </div>\r
+    </div>\r
+    <div class="clear">\r
+      <hr/>\r
+    </div>\r
+    <div id="footer">\r
+      <div class="xright">Copyright &#169;                   2013.\r
+          All Rights Reserved.      \r
+        \r
+      </div>\r
+      <div class="clear">\r
+        <hr/>\r
+      </div>\r
+    </div>\r
+  </body>\r
+</html>\r