Hibernate - Envers - Erzeugung der SQL Skripte

kama

Top Contributor
Hallo,

bin gerade dabei Hibernate + Envers zu verstehen...nun bin ich auf folgendes Problem gestoßen....(eventuell auch ein Verständnisproblem bei mir...)...

Ich habe ein Projekt in dem ich die SQL Scripte per Hibernate3-maven-plugin erzeugen lasse und dann mit entsprechenden Tests auch was in die DB geschrieben bekomme...klappt auch alles super....lediglich wenn ich nun Hibernate-Envers hinzunehme falle ich derzeit auf die Nase....

Derzeit bekomme ich folgendes Fehlermeldung:
Code:
Running TestSuite
2011-11-12 12:17:57,476|WARN|main|hibernate.util.JDBCExceptionReporter||SQL Error: 1146, SQLState: 42S02
2011-11-12 12:17:57,477|ERROR|main|hibernate.util.JDBCExceptionReporter||Table 'scms.REVINFO' doesn't exist
2011-11-12 12:17:57,603|ERROR|main|org.hibernate.AssertionFailure||an assertion failure occured (this may indicate a bug in Hibernate, but is more likely due to unsafe use of the session)
Ok...ich verstehe schon, dass die Tabelle (REVINFO) nicht da ist. Wie kann ich dem hibernate3-maven-plugin klar machen, dass die auch mit erzeugt wird ?
Oder muss ich da was spezielles machen....

Vielen Dank im Voraus.
Karl Heinz Marbaise
 
Hi,

so wie ich das sehe erzeugt das Maven-Plugin keine DDLs für die Audit-Klassen (Revisioninfo, "History"Tabellen für deine Klassen).

Ich weiß auch nicht ob das Maven-Plugin das unterstützt, aber es gibt einen Ant-Task um DDLs zu erzeugen:

Code:
<target name="schemaexport" depends="build-demo"
  description="Exports a generated schema to DB and file">
  <taskdef name="hibernatetool"
    classname="org.hibernate.tool.ant.EnversHibernateToolTask"
    classpathref="build.demo.classpath"/>

  <hibernatetool destdir=".">
    <classpath>
      <fileset refid="lib.hibernate" />
      <path location="${build.demo.dir}" />
      <path location="${build.main.dir}" />
    </classpath>
    <jpaconfiguration persistenceunit="ConsolePU" />
    <hbm2ddl
      drop="false"
      create="true"
      export="false"
      outputfilename="versioning-ddl.sql"
      delimiter=";"
      format="true"/>
  </hibernatetool>
</target>
Siehe Hibernate Envers - Easy Entity Auditing
 

Neue Themen


Zurück
Oben