我有两个实体一个用户(Owing实体 - 由字段roleId组成用户和角色之间的映射),另一个是Role。 角色已在数据库中创建。 我有屏幕,用户在用户创建时选择特定的用户角色。 当我保存数据时,我只想在User表中保存用户详细信息和角色ID。我不想保存角色细节,因为它已经存在。
我正在使用Hibernate进行持久化。使用@OneToOne映射。
@Entity
public class User{
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
@Column(nullable = false)
private String firstName;
@Column(nullable = false)
private String lastName;
@OneToOne(fetch = FetchType.EAGER)
@JoinColumn(name = "role_id")
private Role role;
}
@Entity
public class Role {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
@Column(unique = true, nullable = false)
private String role;
}
目前它正在尝试保存用户和角色详细信息。这不是必需的。 请帮忙解决问题。
答案 0 :(得分:0)
我建议您限制级联删除:
@OneToOne(fetch = FetchType.EAGER, cascade = CascadeType.REMOVE)
@JoinColumn(name = "role_id")
private Role role;