Hibernate Collection Mapping - Fehler beim Updaten der DB

Diskutiere Collection Mapping - Fehler beim Updaten der DB im Data Tier Forum; Hi, Ich habe hier ein kleines Problem mit meinem Entity-Manager und hoffe mir kann hier jemand helfen. Wenn ich zu meiner Collection ein paar...

  1. geqoo
    geqoo Mitglied
    Hi,

    Ich habe hier ein kleines Problem mit meinem Entity-Manager und hoffe mir kann hier jemand helfen.
    Wenn ich zu meiner Collection ein paar Einträge hinzufüge/entferne so wird die Datenbank nicht geupdated.

    Code (Java):

    @Entity
    @Table(name = "Subprograms")
    public class Subprogram implements IEntity, Serializable {

        @Id
        @GeneratedValue
        @Column(name = "id")
        private Long id;

        @OneToMany(mappedBy = "subprogram", fetch = FetchType.EAGER, orphanRemoval = true, cascade = CascadeType.ALL)
        private Set<SubprogramConfig> subprogramConfig = new HashSet<SubprogramConfig>();

        public Subprogram() {
        }

        @Override
        public Long getId() {
            return id;
        }

        @Override
        public void setId(Long id) {
            this.id = id;
        }

        public Set<SubprogramConfig> getSubprogramConfigSet() {
            return subprogramConfig;
        }

        public void setSubprogramConfigSet(Set<SubprogramConfig> SubprogramConfig) {
            this.subprogramConfig = subprogramConfig;
        }
    }
     
    Code (Java):

    @Entity
    @Table(name = "Subprogram_config")
    public class SubprogramConfig implements IEntity, Serializable {

        @Id
        @GeneratedValue
        @Column(name = "id")
        private Long id;

        @ManyToOne
        @JoinColumn(name = "fk_subprogram")
        private Subprogram subprogram;

        public SubprogramConfig() {
        }

        @Override
        public Long getId() {
            return id;
        }

        @Override
        public void setId(Long id) {
            this.id = id;
        }

        public Subprogram getSubprogram() {
            return subprogram;
        }

        public void setSubprogram(subprogram subprogram) {
            this.subprogram = subprogram;
        }

    }
     
    Und die Manager Klasse:
    Code (Java):

    public static List<IEntity> executeUpdate(List<IEntity> entityList) {

        session.beginTransaction();

        entityList.forEach(entity -> {
            Object persistentObj = session.load(entity.getClass(), entity.getId());

            try {
                BeanUtils.copyProperties(persistentObj, entity);
            } catch (Exception e) {
                e.printStackTrace();
            }

            session.save(persistentObj);
        });

        session.getTransaction().commit();

        return entityList;
    }
     
    Der Transaction-Commit liefert mir dann folgenden Fehler:
    Exception in thread "Thread-2" org.hibernate.NonUniqueObjectException: a different object with the same identifier value was already associated with the session: [main.java.controller.entities.SubprogramConfig#25]

    Dazu zu sagen ist noch, dass ich eine Kopie der Entity erzeuge, wenn ich damit arbeite und genau dafür soll das copyProperties gut sein, damit das persistente Objekt von Hibernate die richtigen (neuen) Collection-Daten bekommt.
    Kann mir da jemand weiter helfen?
     
    Zuletzt bearbeitet: 23. Dez. 2014
  2. Vielleicht hilft dir dieser Java-Kurs hier weiter --> (hier klicken)
Die Seite wird geladen...

Collection Mapping - Fehler beim Updaten der DB - Ähnliche Themen

TableView aus Collection befüllen
TableView aus Collection befüllen im Forum AWT, Swing, JavaFX & SWT
Collections.sort funktioniert nicht in exportierten .class Dateien
Collections.sort funktioniert nicht in exportierten .class Dateien im Forum Allgemeine Java-Themen
Werte aus .txt in einer Collection speichern
Werte aus .txt in einer Collection speichern im Forum Java Basics - Anfänger-Themen
Collections.sort klappt nicht
Collections.sort klappt nicht im Forum Hausaufgaben
Collection Aufgabe
Collection Aufgabe im Forum Java Basics - Anfänger-Themen
Thema: Collection Mapping - Fehler beim Updaten der DB