Datensatz wird nicht in DB geschrieben!

bluer

Aktives Mitglied
Hi,

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();
    }
wobei addProject wie folgt aussieht:
Java:
    @Transactional
    public void addProject(){
        this.projectDao.persist(this.project);
    }
und persist() so:
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; }
...
}
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!!!
 
M

maki

Gast
Du nutzt einen extended PersitenceContext (also hast du wohl eine Stateful SessionBean), wo wird der geschlossen?
 

bluer

Aktives Mitglied
Habe das Problem jetzt gelöst in dem ich bei der @ManyToMany Annotation
Java:
    @ManyToMany( cascade= (CascadeType.ALL))
hinzugefügt habe.

Ich habe den Grundstock des Codes von einem Kollegen übernommen und hatte vorher keinerlei Erfahrung mit DB+Java. Was bedeutet es eigentlich, wenn ich ein extended PersitenceContext benutze? Und ja ich verwende hauptsächlich session scopes!
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
F JPA In Datenbank gelöschter Datensatz wird weiterhin vom EntityManger gefunden Data Tier 5
E JPA Session.delete einer Entity wird nicht ausgeführt Data Tier 2
C [JPA] Persistent-Unit wird nur in Eclipse erkannt Data Tier 2
T JPA2/Hibernate: Many-to-Many-Relation wird u.a. beim löschen nicht aktualisiert Data Tier 14
B JPA Persist: DB-Tabelle wird überschrieben Data Tier 2
D object->tabelleneintrag wann gibts einen neuen, wann wird ein alter überschrieben, "sequence" table? Data Tier 4
D Hibernate: Objekt wird nicht gelöscht. Data Tier 5
J Umstieg von Wildfly 13->14, JPA 2.1->2.2, schreiben funktioniert nicht mehr Data Tier 10
O JPA Persistieren mit JTA funktioniert nicht Data Tier 0
G JPA kann Objekt nicht löschen Data Tier 4
R JSF Daten werden nicht aktualisiert aus Datenbank gelesen Data Tier 3
G Zuweisen von eigenen DB-Verbindungen nicht möglich Data Tier 3
M HibernateTemplate löscht nicht ohne flush() Data Tier 0
N JPA Änderungen werden nicht gespeichert Data Tier 2
S JPA Cascade: Entity nur speichern, wenn sie nicht schon existiert Data Tier 0
Kenan89 9.2-1000 JDBC 4 nicht für Java EE ? Data Tier 3
neonfly <exclude-unlisted-classes>true</exclude-unlisted-classes> mag <class>package.Klasse</class> nicht Data Tier 2
K JPA One2Many-Set erkennt seine Inhalte nicht wieder Data Tier 3
D Hibernate Tabellen werden nicht mehr erstellt Data Tier 2
R Beim deployen und initialisieren der DB werden Umlaute nicht gespeichert Data Tier 5
N Löschen OneToMany Beziehung (delete-orphan) geht nicht Data Tier 2
Landei JPA - persist persisted nicht Data Tier 4
D jpa/eclipselink setMaxResults() funktioniert nicht mit MySql?! Data Tier 9
D jpa "pessimistic lock" funktioniert nicht?! Data Tier 11
A Fehlermeldung: Tabellen werden nicht gefunden Data Tier 2
L Hibernate - Tabelle nicht gemappt!? Data Tier 4
H Log4J loggt Hibernate nicht in Kombination mit Tomcat Data Tier 2
N Spring / OpenJPA Inheritance: Subklassen werden nicht erkannt Data Tier 4
D Daten werden nicht gespeichert mit Spring + JPA (Hibernate): Data Tier 6
W JPA Persistenz 2x hintereinander funktioniert nicht Data Tier 3
W JPA generiert die Tabellen bzw. die DDL Files nicht Data Tier 6
K Hibernate: OneToOne funktioniert nicht Data Tier 3
D Hibernate schreibt nicht in DB Data Tier 1

Ähnliche Java Themen


Oben