-->
These old forums are deprecated now and set to read-only. We are waiting for you on our new forums!
More modern, Discourse-based and with GitHub/Google/Twitter authentication built-in.

All times are UTC - 5 hours [ DST ]



Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 2 posts ] 
Author Message
 Post subject: Envers problem
PostPosted: Wed Nov 23, 2011 10:26 am 
Newbie

Joined: Wed Oct 12, 2011 8:47 am
Posts: 3
Hi

I'm a newbie so please bare with me!

I have this class hierarchy: AbstractEntity --> AbstractNavn --> Navn

I would like to use Envers but I keep getting this error:

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-antrun-plugin:1.6:run (GenerateDBSchema) on project MDDExample: An Ant BuildException has occured: org.hibernate.MappingException: Type not supported for auditing: org.hibernate.type.StringType, on entity dk.ttt.cpp.model.navn.Navn, property 'slaegtsnavn'. -> [Help 1]

I have a hunch that this has something to do with MappedSuperClass but I'm not sure

Any help would be very much appreciated

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Classes:
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
package dk.team.mddexample.model;

import java.io.Serializable;
import java.util.UUID;

import javax.persistence.Basic;
import javax.persistence.Column;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.MappedSuperclass;
import javax.persistence.PreUpdate;
import javax.persistence.SequenceGenerator;

import dk.team.foundation.bean.mdsd.runtime.RuntimeMetaClazz;
import org.hibernate.envers.Audited;
import org.hibernate.envers.NotAudited;
import org.joda.time.DateTime;


@MappedSuperclass
public class AbstractEntity implements Serializable {
private static final long serialVersionUID = 940657427464035366L;
@Id
@SequenceGenerator(name = "cpp_GEN", sequenceName = "cpp_ID_SEQ")
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "cpp_GEN")
@NotAudited
private Long id;

@Basic
@Column(unique = true, updatable = false, length = 36, columnDefinition = "char(36)")
@NotAudited
private String uuid;

@Column(updatable = false)
@org.hibernate.annotations.Type(type = "org.joda.time.contrib.hibernate.PersistentDateTime")
@Audited
private DateTime created;

@org.hibernate.annotations.Type(type = "org.joda.time.contrib.hibernate.PersistentDateTime")
@Audited
private DateTime lastUpdated;

public AbstractEntity() {
super();
uuid = UUID.randomUUID().toString();
created = new DateTime();
}

public Long getId() {
return id;
}

public String getUuid() {
return uuid;
}


public void setUuid(String newUuid) {
this.uuid = newUuid;
}

public DateTime getLastUpdated() {
return lastUpdated;
}

public DateTime getCreated() {
return created;
}

@Override
public int hashCode() {
return uuid == null ? 0 : uuid.hashCode();
}

@PreUpdate
protected void onUpdate() {
lastUpdated = new DateTime();
}

@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (!(obj instanceof AbstractEntity))
return false;
final AbstractEntity other = (AbstractEntity) obj;
if (uuid == null) {
if (other.uuid != null)
return false;
} else if (!uuid.equals(other.uuid))
return false;
return true;
}

public String toString() {
if (id != null) {
return this.getClass().getName() + " with id: '" + id + "' uuid: '" + uuid + "'";
}
return this.getClass().getName() + " with id: 'transient entity' " + " uuid: '" + uuid + "'";
}

}

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

package dk.ttt.cpp.model.navn;

import org.hibernate.envers.Audited;
import org.hibernate.envers.NotAudited;

@javax.persistence.MappedSuperclass
abstract public class AbstractNavn extends dk.team.mddexample.model.AbstractEntity {
private static final long serialVersionUID = 753086060L;

/**
* No documentation<p/>
* Defined in AbstractNavn<p/>
*/
@javax.persistence.Basic
@javax.persistence.Column(name = "adresseringsnavn", nullable = false)
@NotAudited
private String adresseringsnavn;

/**
* No documentation<p/>
* Defined in AbstractNavn<p/>
*/
@javax.persistence.Basic
@javax.persistence.Column(name = "efternavn", nullable = false)
@NotAudited
private String efternavn;

/**
* No documentation<p/>
* Defined in AbstractNavn<p/>
*/
@javax.persistence.Basic
@javax.persistence.Column(name = "fornavn", nullable = false)
@NotAudited
private String fornavn;

/**
* Anvendes kun ved dødfødsler.<p/>
* Defined in AbstractNavn<p/>
*/
@javax.persistence.Basic(optional = true)
@javax.persistence.Column(name = "kaldenavn")
@NotAudited
private String kaldenavn;

/**
* No documentation<p/>
* Defined in AbstractNavn<p/>
*/
@javax.persistence.Basic(optional = true)
@javax.persistence.Column(name = "mellemnavn")
@NotAudited
private String mellemnavn;

/**
* ??<p/>
* Defined in AbstractNavn<p/>
*/
@javax.persistence.Embedded
@javax.persistence.AttributeOverrides({@javax.persistence.AttributeOverride(name = "dato",column = @javax.persistence.Column(nullable = false,name = "navnGyldigFra_dato")
)
, @javax.persistence.AttributeOverride(name = "usikker",column = @javax.persistence.Column(nullable = false,name = "navnGyldigFra_usikker")
)
})
@NotAudited
private dk.ttt.cpp.model.util.DatoVurderet navnGyldigFra;

/**
* No documentation<p/>
* Defined in AbstractNavn<p/>
*/
@javax.persistence.Basic(optional = true)
@javax.persistence.Column(name = "slaegtsnavn")
@Audited
private String slaegtsnavn;

public String getAdresseringsnavn() {
return adresseringsnavn;
}

public void setAdresseringsnavn(String parameter) {
this.adresseringsnavn = parameter;
}

public String getEfternavn() {
return efternavn;
}

public void setEfternavn(String parameter) {
this.efternavn = parameter;
}

public String getFornavn() {
return fornavn;
}

public void setFornavn(String parameter) {
this.fornavn = parameter;
}

/**
* Anvendes kun ved dødfødsler.
*/
public String getKaldenavn() {
return kaldenavn;
}

/**
* Anvendes kun ved dødfødsler.
*/
public void setKaldenavn(String parameter) {
this.kaldenavn = parameter;
}

public String getMellemnavn() {
return mellemnavn;
}

public void setMellemnavn(String parameter) {
this.mellemnavn = parameter;
}

/**
* ??
*/
public dk.ttt.cpp.model.util.DatoVurderet getNavnGyldigFra() {
return navnGyldigFra;
}

/**
* ??
*/
public void setNavnGyldigFra(dk.ttt.cpp.model.util.DatoVurderet parameter) {
this.navnGyldigFra = parameter;
}

public String getSlaegtsnavn() {
return slaegtsnavn;
}

public void setSlaegtsnavn(String parameter) {
this.slaegtsnavn = parameter;
}

/**
* Fluent interface sugar<p/>
* <p/>
* Defined in AbstractNavn<p/>
* <p/>
* <u>Required properties:</u> <b>adresseringsnavn</b>, <b>efternavn</b>, <b>fornavn</b>, <b>navnGyldigFra</b>
*/
public dk.ttt.cpp.model.navn.Navn withAdresseringsnavn(
String adresseringsnavn) {
setAdresseringsnavn(adresseringsnavn);

return (dk.ttt.cpp.model.navn.Navn) this;
}

/**
* Fluent interface sugar<p/>
* <p/>
* Defined in AbstractNavn<p/>
* <p/>
* <u>Required properties:</u> <b>adresseringsnavn</b>, <b>efternavn</b>, <b>fornavn</b>, <b>navnGyldigFra</b>
*/
public dk.ttt.cpp.model.navn.Navn withEfternavn(String efternavn) {
setEfternavn(efternavn);

return (dk.ttt.cpp.model.navn.Navn) this;
}

/**
* Fluent interface sugar<p/>
* <p/>
* Defined in AbstractNavn<p/>
* <p/>
* <u>Required properties:</u> <b>adresseringsnavn</b>, <b>efternavn</b>, <b>fornavn</b>, <b>navnGyldigFra</b>
*/
public dk.ttt.cpp.model.navn.Navn withFornavn(String fornavn) {
setFornavn(fornavn);

return (dk.ttt.cpp.model.navn.Navn) this;
}

/**
* Fluent interface sugar<p/>
* - Anvendes kun ved dødfødsler.<p/>
* Defined in AbstractNavn<p/>
* <p/>
* <u>Required properties:</u> <b>adresseringsnavn</b>, <b>efternavn</b>, <b>fornavn</b>, <b>navnGyldigFra</b>
*/
public dk.ttt.cpp.model.navn.Navn withKaldenavn(String kaldenavn) {
setKaldenavn(kaldenavn);

return (dk.ttt.cpp.model.navn.Navn) this;
}

/**
* Fluent interface sugar<p/>
* <p/>
* Defined in AbstractNavn<p/>
* <p/>
* <u>Required properties:</u> <b>adresseringsnavn</b>, <b>efternavn</b>, <b>fornavn</b>, <b>navnGyldigFra</b>
*/
public dk.ttt.cpp.model.navn.Navn withMellemnavn(String mellemnavn) {
setMellemnavn(mellemnavn);

return (dk.ttt.cpp.model.navn.Navn) this;
}

/**
* Fluent interface sugar<p/>
* - ??<p/>
* Defined in AbstractNavn<p/>
* Property type hierarchy:
* <ul>
* <li><b>DatoVurderet</b></li>
* </ul>
* <p/>
* <p/>
* <u>Required properties:</u> <b>adresseringsnavn</b>, <b>efternavn</b>, <b>fornavn</b>, <b>navnGyldigFra</b>
*/
public dk.ttt.cpp.model.navn.Navn withNavnGyldigFra(
dk.ttt.cpp.model.util.DatoVurderet navnGyldigFra) {
setNavnGyldigFra(navnGyldigFra);

return (dk.ttt.cpp.model.navn.Navn) this;
}

/**
* Fluent interface sugar<p/>
* <p/>
* Defined in AbstractNavn<p/>
* <p/>
* <u>Required properties:</u> <b>adresseringsnavn</b>, <b>efternavn</b>, <b>fornavn</b>, <b>navnGyldigFra</b>
*/
public dk.ttt.cpp.model.navn.Navn withSlaegtsnavn(String slaegtsnavn) {
setSlaegtsnavn(slaegtsnavn);

return (dk.ttt.cpp.model.navn.Navn) this;
}
}
---------------------------------------------------------------------------------------------------------------------------------------------------------------------
package dk.ttt.cpp.model.navn;

import org.hibernate.envers.Audited;

@javax.persistence.Entity
@javax.persistence.Table(name = "Navn")
@Audited
public class Navn extends dk.ttt.cpp.model.navn.AbstractNavn {
private static final long serialVersionUID = 1304719273L;

}


Top
 Profile  
 
 Post subject: Re: Envers problem
PostPosted: Thu Nov 24, 2011 2:16 am 
Newbie

Joined: Wed Oct 12, 2011 8:47 am
Posts: 3
reposted this at the Envers forum...


Top
 Profile  
 
Display posts from previous:  Sort by  
Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 2 posts ] 

All times are UTC - 5 hours [ DST ]


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum

Search for:
© Copyright 2014, Red Hat Inc. All rights reserved. JBoss and Hibernate are registered trademarks and servicemarks of Red Hat, Inc.