Hi,
ich habe folgendes Problem. Der Anwender legt über eine Maske ein neues Projekt an und wenn er damit fertig ist wird folgendes aufgerufen:
wobei addProject wie folgt aussieht:
und persist() so:
Project und User sind über eine @ManyToMany Annotation wie folgt verknüpft:
Wenn ich jedoch die Projekte der beiden User über den DB-Operator update aktualiesieren möchte, wird die Fehlermeldung geworfen, dass das eben hinzugefügte Projekt nicht in der DB existiert und schreibt es tatsächlich nicht hinein ???:L
Hat jmd eine Ahnung woran das liegen könnte???
Vielen Dank schonmal!!!
ich habe folgendes Problem. Der Anwender legt über eine Maske ein neues Projekt an und wenn er damit fertig ist wird folgendes aufgerufen:
Java:
@Transactional
public void finalWizard(){
this.addProject();
this.consultant.getUser().addProject(this.project);
this.customer.getUser().addProject(this.project);
this.userDao.update(this.consultant.getUser());
this.userDao.update(this.customer.getUser());
this.reset();
}
Java:
@Transactional
public void addProject(){
this.projectDao.persist(this.project);
}
Java:
@PersistenceContext(type = PersistenceContextType.EXTENDED)
private EntityManager em;
...
public void persist(Project project) {
em.persist(project);
em.flush();
}
...
Project und User sind über eine @ManyToMany Annotation wie folgt verknüpft:
Java:
@Entity
public class User {
...
@ManyToMany
@JoinTable( name = "User_Project",
joinColumns = {@JoinColumn( name="user_id")},
inverseJoinColumns = {@JoinColumn (name = "project_id")})
public List<Project> getProjects() {return this.projects; }
...
}
@Entity
public class Project {
...
@ManyToMany( mappedBy = "projects")
public List<User> getUsers() { return this.users; }
...
}
Hat jmd eine Ahnung woran das liegen könnte???
Vielen Dank schonmal!!!