Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Hibernate Problem

Empfohlene Antworten

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.

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...

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).

Welche Hibernate Doku meinst du??

  • 3 Wochen später...

Was du brauchst wäre, wie perdian schon schrieb, einen composite-key.

Alles was du dazu wissen musst steht in der verlinkten Hibernate-Doku.

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.