Wygląda na to, że hibernate3-maven-plugin
używany do generowania skryptów tworzenia/usuwania DDL nie jest już kompatybilny z Hibernate 4.3
i nowszymi wersjami (przy użyciu JPA 2.1
).Generowanie skryptu DDL przy kompilacji MAVEN za pomocą Hibernate4/JPA 2.1
używam takiej konfiguracji wtyczki:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>hibernate3-maven-plugin</artifactId>
<version>3.0</version>
<executions>
<execution>
<id>generate-sql-schema</id>
<phase>process-sources</phase>
<goals>
<goal>hbm2ddl</goal>
</goals>
<configuration>
<hibernatetool>
<jpaconfiguration persistenceunit="${persistenceUnitName}" />
<hbm2ddl update="true" create="true" export="false"
outputfilename="src/main/sql/schema.sql" format="true"
console="true" />
</hibernatetool>
</configuration>
</execution>
</executions>
</plugin>
Ale pojawia się następujący błąd:
[ERROR] Failed to execute goal org.codehaus.mojo:hibernate3-maven-plugin:3.0:hbm2ddl (generate-sql-schema) on project my-project: There was an error creating the AntRun task.
An Ant BuildException has occured: java.lang.NoClassDefFoundError: org/hibernate/util/ReflectHelper: org.hibernate.util.ReflectHelper -> [Help 1]
tej klasy jako przeniesione do nowego pakietu: org.hibernate.internal.util.ReflectHelper
Jednak nie znalazłem jasne sposób na generowanie DDL tworzyć skrypty przy kompilacji MAVEN.
Nie ma żadnego hibernate4-maven-plugin
ani żadnego innego oficjalnego sposobu na zrobienie tego.
Co z tego? Czy nie jest to główna cecha, którą należy wspierać? Jak to zrobić ?
Co powiesz na [Hibernate-maven-plugin 4.3.1 Final] (http://mvnrepository.com/artifact/org.hibernate/hibernate-maven-plugin/4.3.1.Final)? – wypieprz