Ich habe 2 Klassen: User und UserPicture, die eine 1: 1-Beziehung haben.Hibernate - bidirektionale @OneToOne
public class User {
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
@Column(name="id", nullable = false, unique = true)
private int id;
private String firstname;
private String lastname;
@OneToOne
@JoinColumn(name = "picture") //field named "picture" in the database
private UserPicture userPicture;
..
}
public class UserPicture {
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
@Column(name="id", nullable = false, unique = true)
private int id;
private Blob image;
@OneToOne
@JoinColumn(name = "user")
User user;
'user' in UserPicture geladen werden, sondern 'userPicture' in Benutzer nicht - was Im falsch gemacht haben?
EDIT muss hinzufügen, dass Im nur einen UserPicture erstellen und einfügen (mit vorhandener userId) - vielleicht muß ich 'user' in UserPicture kaskadieren?
Es funktioniert! Vielen Dank! Aber wenn ich einen UserPicture-Benutzer einfüge wird nicht aktualisiert? – user1731299
@ user1731299 Alles, was Sie tun müssen, um einen 'Benutzer' mit einem' UserPicture' zu verbinden, ist ein 'UserPicture' zu erstellen,' setUser' für das Objekt aufzurufen und in der Datenbank zu speichern. – Pigueiras
Folgendes: Das Frontend fordert mich auf, ein Benutzerbild zu Benutzer A hinzuzufügen. In meinem Dienst lade ich Benutzer A neu, setze diesen Benutzer in mein neues UserPicture-Objekt und erstelle/platziere UserPicture -> Feld 'picture' in Tabelle user stay null. Wenn ein Benutzer geladen wird, ist das Bild geladen ... wirklich seltsam. – user1731299