Versioned table schema generation
faisalaziz Jul 17, 2008 7:54 AMHey Guys I am trying to generate the schema for versioned tables, but I can not find the schema for the versioned table in the generated schema.
I have a question though, about generating the versioned tables through the ant hibernate tools.
I am using this script.
<taskdef name="hibernatetool" classname="org.hibernate.tool.ant.EnversHibernateToolTask" classpathref="cp"/> <hibernatetool destdir="${tmp.dir}"> <classpath> <path refid="java-dist-cp" /> </classpath> <jpaconfiguration persistenceunit="myPU" /> <hbm2ddl drop="false" create="true" export="false" outputfilename="versioning-ddl.sql" delimiter=";" format="true"/> </hibernatetool>
<persistence-unit name="@db.persistenceunit@" transaction-type="RESOURCE_LOCAL"> <!--<jta-data-source>java:/@db.datasource.jndi@</jta-data-source>--> <non-jta-data-source>java:@application.name@DS</non-jta-data-source> <properties> <property name="hibernate.dialect" value="@db.dialect@" /> <property name="hibernate.cache.provider_class" value="org.hibernate.cache.EhCacheProvider" /> <property name="hibernate.cache.use_query_cache" value="true" /> <property name="hibernate.jdbc.batch_size" value="50" /> <property name="hibernate.cache.provider_configuration_file_resource_path" value="ehcache.xml" /> <property name="hibernate.use_second_level_cache" value="true" /> <property name="hibernate.use_query_cache" value="true" /> <property name="hibernate.connection.release_mode" value="auto" /> <property name="hibernate.connection.autocommit" value="false" /> <property name="hibernate.generate_statistics" value="true" /> <property name="hibernate.ejb.event.post-insert" value="org.jboss.envers.event.VersionsEventListener" /> <property name="hibernate.ejb.event.post-update" value="org.jboss.envers.event.VersionsEventListener" /> <property name="hibernate.ejb.event.post-delete" value="org.jboss.envers.event.VersionsEventListener" /> <property name="org.jboss.envers.versionsTableSuffix" value="_V" /> <property name="org.jboss.envers.revisionFieldName" value="ver_rev" /> </properties> </persistence-unit>
@Entity @Table(name = "ROLE") @Cache(usage = CacheConcurrencyStrategy.READ_WRITE) @Versioned public class Role implements Serializable { /** Id of the entity. */ protected Integer id; /** Name of the role. */ protected String name; /** Description of the role. */ protected String description; @Id @GeneratedValue(strategy = GenerationType.AUTO) @Column(name = "RID") public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } @Column(name = "NAME") public String getName() { return name; } public void setName(String name) { this.name = name; } @Column(name = "DESCRIPTION") public String getDescription() { return description; } public void setDescription(String description) { this.description = description; } }
It generates the schema for all the entities except for the versioned entity.