I User-Klasse haben, die einige zusätzliche Attribute:@ManyToMany und Aktualisierung Einheit
@Entity
@Table(name="\"user\"")
public class User implements UserDetails {
private String username;
private String password;
@ManyToMany(fetch = FetchType.EAGER)
private Collection<House> houses;
}
Nun, wenn ich rufe eine Methode, die einem der Häuser verändert (zum Beispiel seinen Namen Eigenschaft ändert), habe ich noch Holen Sie sich den alten Wert des Hauses, wenn ich anrufe:
User user = (User) SecurityContextHolder.getContext().getAuthentication().getPrincipal();
user.getHouses(); <- value of name property in house is not updated
Wie kann ich sicherstellen, dass es immer aktualisiert wird?
Ich denke nicht, dass es eine gute Idee ist, veränderbare Wert in Sicherheitskontext zu speichern. Wenn Sie jedoch darauf bestehen und Sie Hibernate verwenden, können Sie den Cache der zweiten Ebene durchsuchen. (nur ein Vorschlag, ich habe diesen Cache vorher nicht aktiviert). – PWC