Java 删除的对象将通过级联重新保存
我有一个从数据库中删除和保存对象的方法Java 删除的对象将通过级联重新保存,java,hibernate,Java,Hibernate,我有一个从数据库中删除和保存对象的方法 List<IpAddress> ipAddresses = ipAddressDAO.findByEmail("abc@gmail.com"); if (employeeBean.getIpAddress() != null) { for (IpAddress ipAddress : ipAddresses) { HibernateUtil.getCurrentSession().delete(i
List<IpAddress> ipAddresses = ipAddressDAO.findByEmail("abc@gmail.com");
if (employeeBean.getIpAddress() != null) {
for (IpAddress ipAddress : ipAddresses) {
HibernateUtil.getCurrentSession().delete(ipAddress );
}
String[] ipAddresses = employeeBean.getIpAddress().split(",");
if (ipAddresses != null && ipAddresses.length > 0) {
for (String ip : ipAddresses) {
IpAddress ipAddress = new IpAddress();
ipAddress.setEmailLogin(emailLogin);
ipAddress.setIpAddress(ip);
getSession().save(ipAddress);
}
}
}
在getSession.saveipAddress;我得到了一个异常,删除的对象将被级联重新保存。有人能帮我吗?尝试在@ManyToOne注释中添加“orphaneremovation=true”
@Entity
public class IpAddress {
private String ipAddress;
@ManyToOne(fetch = FetchType.LAZY, cascade = {CascadeType.ALL})
@JoinColumn(name = "EmailLoginId")
private EmailLogin emailLogin;
public String getIpAddress() {
return ipAddress;
}
public void setIpAddress(String ipAddress) {
this.ipAddress = ipAddress;
}
public EmailLogin getEmailLogin() {
return emailLogin;
}
public void setEmailLogin(EmailLogin emailLogin) {
this.emailLogin = emailLogin;
}
}