Ich bin für mein Hibernate-Projekt das folgende Design mit:@ManyToMany in einem abstrakten MappedSuperclass
@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;
}
}
Wie Sie sehen können, haben Benutzer eine ManyToMany Beziehung zu profilieren.
@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;
}
}
Wenn ich jetzt versuchen, einen Mitarbeiter zu erstellen, erhalte ich eine Hibernate Ausnahme:
org.hibernate.AnnotationException: Verwenden Sie von @OneToMany oder @ManyToMany Targeting eine nicht zugeordnete Klasse: de .ke.objects.bo.profile.Profil.user [de.ke.objects.bo.user.User]
Wie kann ich eine ManyToMany-Beziehung auf den übergeordneten Klasse User Profil, so dass es funktioniert für Kunde und Empl Oyee?
Vielen Dank im Voraus.
hallo, haben Sie in der Lage gewesen, dieses Problem zu lösen? Ich stehe vor demselben Problem. – tarkikshah