2010-10-28 5 views
5

estoy teniendo el siguiente diseño para mi proyecto de hibernación:@ManyToMany en un MappedSuperclass abstracta

@MappedSuperclass 
public abstract class User { 
    private List<Profil> profile; 

    @ManyToMany (targetEntity=Profil.class) 
    public List<Profil> getProfile(){ 
     return profile; 
    } 
    public void setProfile(List<Profil> profile) { 
     this.profile = profile; 
    } 
} 

@Entity 
@Table(name="kunde") 
public class Kunde extends User { 
    private Date birthdate; 
    @Column(name="birthdate") 
    @Temporal(TemporalType.TIMESTAMP) 
    public Date getBirthdate() { 
     return birthdate; 
    } 
    public void setBirthdate(Date birthdate) { 
     this.birthdate= birthdate; 
    } 
} 

@Entity 
@Table(name="employee") 
public class Employee extends User { 
    private Date startdate; 
    @Column(name="startdate") 
    @Temporal(TemporalType.TIMESTAMP) 
    public Date getStartdate() { 
     return startdate; 
    } 
    public void setStartdate(Date startdate) { 
     this.startdate= startdate; 
    } 
} 

Como se puede ver, el sombrero del usuario una relación ManyToMany al perfil.

@Entity 
@Table(name="profil") 
public class Profil extends GObject { 
    private List<User> user; 

    @ManyToMany(mappedBy = "profile", targetEntity = User.class) 
    public List<User> getUser(){ 
     return user; 
    } 
    public void setUser(List<User> user){ 
     this.user = user; 
    } 
} 

Si ahora intento crear un empleado, recibo una excepción de hibernación:

org.hibernate.AnnotationException: Uso de @OneToMany o @ManyToMany focalización una clase sin asignar: de .ke.objects.bo.profile.Profil.user [de.ke.objects.bo.user.User]

¿Cómo puedo utilizar un ManyToMany-Relación con el perfil de usuario de la superclase, por lo que funciona para Kunde y Empl oyee?

Gracias de antemano.

+0

hola, ¿ha sido capaz de resolver este problema? Estoy enfrentando el mismo problema. – tarkikshah

Respuesta

Cuestiones relacionadas