C#_Rookie Geschrieben 15. Juli 2010 Geschrieben 15. Juli 2010 Guten Morgen, in meiner Java-Anwendung habe ich drei Entities. Eine davon lautet BestaetigungEntityPK. Wenn ich meine Anwendung startet wird folgender Fehler geschmissen: BestaetigungEntityPK has no persistent id property Ich habe gestern zusammen schon mit einem Kollegen mich auf Fehlersuche begeben. Ich habe auch schon mal alle drei Entities gelöscht und wieder komplett neu erstellen lassen. Es wird immer noch derselbe Fehler erzeugt. Ich steige einfach nicht durch woran das liegt. Über Hilfe würde ich mich freuen. Zitieren
perdian Geschrieben 15. Juli 2010 Geschrieben 15. Juli 2010 BestaetigungEntityPK has no persistent id propertyHast du denn die Fehlermeldung verstanden und nach dem Grund gesucht? Anders gefragt: Hat eine Entity ein deklariertes ID-Property? Zitieren
C#_Rookie Geschrieben 15. Juli 2010 Autor Geschrieben 15. Juli 2010 In der Datenbank ist das ein zusammengesetzter PK aus drei Spalten. In BestaetigungEntityPK sind diese drei Spalten folgender maßen abgebildet: @Column(name = "Verpflichtungserklaerung", nullable = false, length = 5) @Id private short verpflichtungserklaerung; public short getVerpflichtungserklaerung() { return verpflichtungserklaerung; } public void setVerpflichtungserklaerung(short verpflichtungserklaerung) { this.verpflichtungserklaerung = verpflichtungserklaerung; } @Column(name = "Benutzer", nullable = false, length = 6) @Id private String benutzer; public String getBenutzer() { return benutzer; } public void setBenutzer(String benutzer) { this.benutzer = benutzer; } @Column(name = "Erstellt_Am", nullable = false, length = 23, precision = 3) @Id private Timestamp erstelltAm; public Timestamp getErstelltAm() { return erstelltAm; } public void setErstelltAm(Timestamp erstelltAm) { this.erstelltAm = erstelltAm; Das ist es ja ich verstehe die Meldung nicht. Obwohl für alle drei Spalten aus der DB eine Annotation vorhanden ist mit entspr. @ID, knallts... Zitieren
perdian Geschrieben 15. Juli 2010 Geschrieben 15. Juli 2010 In der Datenbank ist das ein zusammengesetzter PK aus drei Spalten. [...] Das ist es ja ich verstehe die Meldung nicht. Obwohl für alle drei Spalten aus der DB eine Annotation vorhanden ist mit entspr. @ID, knallts...Probier mal die Schlüsselspalten in ein Eigenes Objekt, das mit @Embeddable annotiert ist auszulagern und nur dieses Objekt als @Id zu übergeben (siehe auch Hibernate Doku). Zitieren
C#_Rookie Geschrieben 15. Juli 2010 Autor Geschrieben 15. Juli 2010 Welche Hibernate Doku meinst du?? Zitieren
perdian Geschrieben 15. Juli 2010 Geschrieben 15. Juli 2010 Welche Hibernate Doku meinst du?? Die Hibernate Reference Documentation. Zitieren
ksg9-sebastian Geschrieben 3. August 2010 Geschrieben 3. August 2010 Was du brauchst wäre, wie perdian schon schrieb, einen composite-key. Alles was du dazu wissen musst steht in der verlinkten Hibernate-Doku. Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.