Aktywne Wpisy
Konkretnyknur +17
Jestem w Kanadzie i zaczyna mi się tu podobać 😃
kubanfs +2
#powodz Najważniejsze że wojsko w koszarach pompki robi albo na poligonie 50km dziennie biegiem dlaczego nikt wojska nie postawił w pełnej gotowości żeby teraz mogli na miejscu kilka godzin po powodzi pomoc w odgruzowywaniu miasteczek?
@OneToMany(cascade = CascadeType.ALL, orphanRemoval = true)
@JoinColumn(name = "userid", nullable = false)
private Set<UserRole> userRoles;
A ta encja userRole wygląda tak:
@OneToOne(cascade = CascadeType.ALL)
@JoinColumn(name = "roleid")
private Role role;
@Column(name = "roleid", insertable = false, updatable = false)
private Integer roled;
@Column(name = "userid", insertable = false, updatable = false)
private Integer userId;
Mam taki problem, że w momencie w którym zapisuje nowego użytkownika do bazy i dodaje mu listę ról, to przypisuję obiektom UserRole id istniejących już w bazie ról. Niestety działa to tak, że zamiast przypisać istniejącą rolę z podanym id, hibernate tworzy nową rolę w bazie z innym id.
Da się to jakoś ogarnąć, czy muszę raczej w trakcie tworzenia usera, pobrać sobie najpierw te role z bazy i przypisać je do userrole przed zapisem?
I sorki, że niejasno to tu może opisałem ale niewygodnie mi się tu pisze, nie umiem nawet okienka tekstowego powiększyć.
#programowanie #java #hibernate
Przykładowo:
@OneToMany(cascade = CascadeType.MERGE, orphanRemoval = true)
@JoinColumn(name = "userid", nullable = false)
private Set<UserRole> userRoles;