The plugin now scans for annotated classes in dependencies too
[hibernate4-maven-plugin] / src / site / apt / pitfalls.apt
index 6c921b0..a25abcd 100644 (file)
@@ -1,11 +1,21 @@
-Known Pitfalls
+  ---
+  Known Pitfalls
+  ---
+  Kai Moritz
+  ---
 
-* hibernate4-maven-plugin always needs a database-connection
+Annotated classes in dependencies are not found.
+
+  hibernate4-maven-plugin does not scan transitive dependencies 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.
-  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:
 
 ------------
@@ -17,7 +27,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!
 
-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.
@@ -81,7 +91,7 @@ Known Pitfalls
   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.
@@ -113,7 +123,7 @@ Known Pitfalls
 </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
@@ -122,14 +132,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:
+
 -------------
 [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.
+  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
 -------------
+
+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}}...