Fixed bug in site-configuration
[hibernate4-maven-plugin] / src / site / apt / pitfalls.apt
index 61b5bc9..355e369 100644 (file)
@@ -1,11 +1,24 @@
-Known Pitfalls
+  ---
+  Known Pitfalls
+  ---
+  Kai Moritz
+  ---
 
 
-* hibernate4-maven-plugin always needs a database-connection
+Annotated classes in dependencies are not found.
+
+  hibernate4-maven-plugin by default scans dependencies in the scope
+  <code>compile</code>. You can configure it to scan dependencies in other
+  scopes as well. But it scans only direct dependencies. Transitive
+  dependencies are not scanned for annotated classes. If some of your
+  annotated classes are hidden in a transitive dependency, you can simply
+  add that dependency explicitly.
+
+hibernate4-maven-plugin always needs a database-connection
 
   The default-configuration uses the EXPORT-target of the SchemaExport-Tool.
   If you do not need to create a database with the evaluated schema, you can
   use the NONE- or the SCRIPT-target.
 
   The default-configuration uses the EXPORT-target of the SchemaExport-Tool.
   If you do not need to create a database with the evaluated schema, you can
   use the NONE- or the SCRIPT-target.
-  This can be achieved with the commandline-parameter
+  This can be achieved with the command-line parameter
   <<<-Dhibernate.export.target=SCRIPT>>> or with the following configuration:
 
 ------------
   <<<-Dhibernate.export.target=SCRIPT>>> or with the following configuration:
 
 ------------
@@ -17,7 +30,7 @@ Known Pitfalls
   But even when no database is to be created, hibernate always needs to know
   the dialect. Hence, the plugin will fail if this parameter is missing!
 
   But even when no database is to be created, hibernate always needs to know
   the dialect. Hence, the plugin will fail if this parameter is missing!
 
-Dependency for driver-class XYZ is missing
+Dependency for driver-class XYZ is missing
 
   One regular problem is the scope of the jdbc-driver-dependency.
   It is very unlikely, that this dependency is needed at compile-time.
 
   One regular problem is the scope of the jdbc-driver-dependency.
   It is very unlikely, that this dependency is needed at compile-time.
@@ -81,7 +94,7 @@ Known Pitfalls
   Because otherwise, this dependency will unnecessarily bloat the
   runtime-dependencies of your project.
 
   Because otherwise, this dependency will unnecessarily bloat the
   runtime-dependencies of your project.
 
-DBUnit {fails} after execution of hibernate4 was skipped because nothing has changed
+DBUnit {fails} after execution of hibernate4 was skipped because nothing has changed
 
   If hibernate4-maven-plugin skips its excecution, this may lead to errors in
   other plugins.
 
   If hibernate4-maven-plugin skips its excecution, this may lead to errors in
   other plugins.
@@ -113,7 +126,7 @@ Known Pitfalls
 </plugin>
 ------------
 
 </plugin>
 ------------
 
-The database will not be recreated after a manual drop/clean
+The database will not be recreated after a manual drop/clean
 
   If one manually drops the database or removes the hsqldb-files, it will not
   be recreated by the hibernate4-maven-plugin, because it cannot detect, that
 
   If one manually drops the database or removes the hsqldb-files, it will not
   be recreated by the hibernate4-maven-plugin, because it cannot detect, that
@@ -122,14 +135,35 @@ Known Pitfalls
   the configuration nor the annotated classes have changed, because an
   unnecessary drop-create-cycle might take a long time. The plugin will
   report that like this:
   the configuration nor the annotated classes have changed, because an
   unnecessary drop-create-cycle might take a long time. The plugin will
   report that like this:
+
 -------------
 [INFO] No modified annotated classes found and dialect unchanged.
 [INFO] Skipping schema generation!
 -------------
 [INFO] No modified annotated classes found and dialect unchanged.
 [INFO] Skipping schema generation!
-[------------
+-------------
 
 
-  If one always uses <<<mvn clen>>> for cleanup, this will not happen.
-  Otherwise the recreation must be forced:
+  If one always uses <<<mvn clean>>> for cleanup, this will not happen.
+  Otherwise the recreation must be {{{./force.html}forced}}:
 
 -------------
 mvn hibernate4:export -Dhibernate.export.force=true
 -------------
 
 -------------
 mvn hibernate4:export -Dhibernate.export.force=true
 -------------
+
+The hibernate4:export goal is not executed, when tests are skipped
+
+  The hibernate4-maven-plugin automatically skips its execution, when
+  <<<maven.test.skip>>> is set to <<<true>>>. If you need it to be always
+  executed, you can configure that explicitly like this:
+
+------------
+<plugin>
+  <groupId>de.juplo</groupId>
+  <artifactId>hibernate4-maven-plugin</artifactId>
+  ...
+  <configuration>
+    <skip>false</skip>
+  </configuration>
+</plugin>
+------------
+
+  Background-information for this design-decission can be found on the extra
+  page {{{./skip.html}To skip or not to skip: that is the question}}...