Registrierung Kalender Mitgliederliste Teammitglieder Suche Häufig gestellte Fragen Zur Startseite

Informatiker Board » Themengebiete » Praktische Informatik » Java - JPA Update » Hallo Gast [Anmelden|Registrieren]
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | An Freund senden | Thema zu Favoriten hinzufügen
Zum Ende der Seite springen Java - JPA Update
Beiträge zu diesem Thema Autor Datum
 Java - JPA Update InformaTiger 17.07.2016 14:02

Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
InformaTiger InformaTiger ist männlich
Tripel-As


images/avatars/avatar-77.gif

Dabei seit: 19.02.2013
Beiträge: 228
Herkunft: Südtirol

Java - JPA Update Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Hallo,

ich habe ein Problem beim Updaten meiner Datenbank mit JPA und Eclipselink. Eine meiner Entities enthält eine ElementCollection und diese kann laut folgendem Fehler nicht geupdated werden:

Zitat:
Exception Description: Problem compiling [UPDATE tbl_repository r SET r.path = :path, r.nodes = :nodes, r.revision = :revision, r.locked = :locked WHERE r.id = :id]. [44, 51] An association field cannot be used in an update item's path expression.


Ich verstehe zwar die Fehlermeldung, habe aber leider keinen Hinweis gefunden, wie ich unter JPA sonst eine ElementCollection updaten könnte (Anmerkung: ich möchte eine Update Query benutzen und den EntityManager-Weg vermeiden). Meine Entity sieht folgendermaßen aus:

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
@Entity(name = "tbl_repository")
@Table(name = "tbl_repository")
@NamedQueries({
    // [...]
    @NamedQuery(
            name = "Repository.update",
            query = "UPDATE tbl_repository r SET r.path = :path, r.nodes = :nodes, r.revision = :revision, r.locked = :locked WHERE r.id = :id")
    // [...]
})
public class Repository extends filesync.core.entity.Entity implements Serializable {

    // [...]

    @Basic
    private Path path;

    @ElementCollection
    @CollectionTable(name = "tbl_nodes", joinColumns = {@JoinColumn(name = "fk_node")})
    private List<Path> nodes;

    @OneToMany(targetEntity = User.class, mappedBy = "repository")
    private List<User> users;

    @OneToOne(targetEntity = Revision.class)
    private Revision revision;
    
    @Basic
    private boolean locked;

    // [...]
}


Edit: nachdem ich nochmals eine Weile gegoogelt habe, bin ich auf diesen Beitrag gestoßen, der erklärt, dass das einfach nicht möglich ist LOL Hammer

Mit freundlichen Grüßen smile
InformaTiger

__________________
Why do Java developers wear glasses? Because they can't C#

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von InformaTiger: 17.07.2016 17:48.

17.07.2016 14:02 InformaTiger ist offline Beiträge von InformaTiger suchen Nehmen Sie InformaTiger in Ihre Freundesliste auf
Baumstruktur | Brettstruktur
Gehe zu:
Informatiker Board » Themengebiete » Praktische Informatik » Java - JPA Update