Mam encję:
@Entity
@Table(name="common__Role")
public class Role {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
public Long id;
/**
* Parent Role id.
*/
@ManyToOne(cascade={CascadeType.MERGE})
@JoinColumn(name="role_id")
public Role role;
@Constraints.Required
public String name;
Do dodawanie tej encji mam formularz gdzie podaje się nazwę i wybiera z listy Rolę, której będzie podlegać nowa Rola (zależność rodzić-dziecko).
Problem pojawia się gdy select w formularzu z listą ról zostawiam pustę.
Dostaję wtedy błąd:
Caused by: org.hibernate.TransientObjectException: object references an unsaved transient instance - save the transient instance before flushing: models.Role.role -> models.Role
Wiem, że problem leży w relacji jaką utworzyłem przez konfigurację
@ManyToOne(cascade={CascadeType.MERGE})
Niestesty nie wiem jak to rozwiązać.