Java - JPA Update

Neue Frage »

Auf diesen Beitrag antworten »
InformaTiger Java - JPA Update

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
 
 
Neue Frage »
Antworten »


Verwandte Themen

Die Beliebtesten »
Die Größten »
Die Neuesten »