Meine Benutzer-> Rollenbeziehungstabelle wurde magisch und zufällig Zeilen daraus gelöscht. Wir können das Problem nicht reproduzieren, aber es passiert in der Produktionsumgebung. Es passiert nur in prod und scheint nur dann zu passieren, wenn viele Leute das System benutzen, was uns zu der Annahme verleitet, dass es sich um ein Nebenläufigkeitsproblem handelt. Unten ist meine definierte Zuordnung.Hibernate JoinTable-Zeilen werden irgendwie zufällig gelöscht
Wir haben nur ein paar Stellen, die Benutzer oder Rollen bearbeiten. Keiner dieser Orte wird das Problem auftreten! Auch kein anderes System arbeitet gegen die Datenbank.
- Durch die Anmeldung kann der Benutzer sein letztes Anmeldedatum festlegen oder sperren, wenn er sich zu oft erfolglos anmeldet.
- Benutzerverwaltung - Bearbeiten Sie einen Benutzer und Rollen zuweisen. Mit dieser Aktion können Sie Rollen aus der Beziehung hinzufügen oder entfernen, aber durch die Ausführung einer der beiden Aktionen tritt das Problem nicht auf.
- Rollenverwaltung - Erstellen oder Bearbeiten einer Rolle, aber Sie können in dieser Schnittstelle keine Benutzer Rollen zuweisen.
- Benutzer können ihr eigenes Passwort in einem Datensatz speichert ihrer Benutzer resultierenden ändern
//User.java
@ManyToMany(fetch = FetchType.LAZY)
@JoinTable(name = "user_roles", joinColumns = {
@JoinColumn(name = "user_id", referencedColumnName = "id") },
inverseJoinColumns = {@JoinColumn(name = "role_id") })
public Set<Role> getRoles() {
return this.roles;
}
//Role.java
@ManyToMany(fetch = FetchType.LAZY, mappedBy = "roles")
public Set<User> getUserRoles() {
return this.userRoles;
}
Ich bekomme immer noch zufällige Löschungen leider ... – chrislhardin