我用我谟春引导和弹簧数据:传递给persist的分离实体:com.carpooling.entity.Role;嵌套的例外是org.hibernate作为
@Entity
public class User {
vate Long id;
private String firstName;
private String familyName;
@ManyToMany(fetch = FetchType.LAZY, cascade = CascadeType.ALL)
@JoinTable(name = "user_role", joinColumns = {
@JoinColumn(name = "USER_ID", nullable = false, updatable = false) }, inverseJoinColumns = {
@JoinColumn(name = "ROLE_ID", nullable = false, updatable = false) })
private List<Role> roles;
//getters and setters
}
角色类:
@Entity
public class Role {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String roleName;
@ManyToMany(fetch = FetchType.LAZY, mappedBy = "roles")
private List<User> users;
//getters and setters
}
添加用户梅索德:
public User AddUser(User user) {
// TODO Auto-generated method stub
List<Role> roles = user.getRoles();
user.setRoles(roles);
return userRepsitory.save(user);
}
当我尝试添加它给我上述错误的新用户,继承人的JSON对象发送:
{ “名字”: “FFF”, “familyName”: “FFFF”, “角色”:[{ “ID”:1},{ “ID”:2}] }
你不应该更换收集。只删除并添加到它。 – Bart
@Bart那也就没有什么区别实际上 –
@AmerQarabsa只是一个预防措施,而不是解决方案。我刚刚评论,因为我看到OP使用setter进行收集。这是错误的秘诀。 – Bart