【发布时间】:2019-05-14 17:16:48
【问题描述】:
我必须同时更新三个表。当我从邮递员那里点击时,所有表都已成功保存,但当我尝试更新时,它会抛出 catch 异常,就像同一实体的多个表示一样。
员工详情
public class EmployeeDetails implements Serializable{
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "user_id", unique = true, length = 11, nullable = false)
private Integer userId;
//other variable
@OneToOne(mappedBy="user",cascade = CascadeType.ALL)
private EmployeeAdditionalinfo userAdditionalInfo;
@OneToMany(mappedBy="user",cascade = CascadeType.ALL)
private Set<EducationDetails> educationDetail;
//getter and setter
}
员工附加信息
public class EmployeeAdditionalinfo {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "user_additional_info_id", unique = true, length = 11, nullable = false)
private Integer userAdditionalInfoId;
//other variable
@ManyToOne(cascade=CascadeType.ALL)
@JoinColumn(name = "user_id")
private EmployeeDetails user;
@OneToOne(cascade=CascadeType.ALL)
@JoinColumn(name = "address_id")
private EmployeeAddress address;
//getter or setter }
教育详情
public class EducationDetails {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "s_no", unique = true, length = 10, nullable = true)
private Integer sno;
//variable
@ManyToOne(cascade=CascadeType.ALL)
@JoinColumn(name = "user_id")
private EmployeeDetails user;
//getter and setter }
错误
org.springframework.dao.InvalidDataAccessApiUsageException:正在合并同一实体 [com.icore.Payroll.Attendance.Entity.EmployeeDetails#379] 的多个表示。已分离:[EmployeeDetails [userId=379, userName=user name, firstName=Ganesh1, lastName=Babu, middleInitial=Middle, email=Email, password=passwo, ......]]
【问题讨论】:
标签: java spring spring-boot