删除功能试图删除外键
问题描述:
我有以下问题。 当我尝试删除我的实体时,它会自动尝试删除外键对象。删除功能试图删除外键
这是我的实体:
@Entity
public class ScmoKomponente implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
@Size(min = 1, max = 50, message = "{standard}")
private String name;
@Temporal(javax.persistence.TemporalType.DATE)
private Date datum;
@ManyToOne(cascade = CascadeType.ALL)
private ScmoProjekt projekt;
@ManyToOne(cascade = CascadeType.ALL)
private SupplierUser lieferant;
public SupplierUser getLieferant() {
return lieferant;
}
public void setLieferant(SupplierUser lieferant) {
this.lieferant = lieferant;
}
public ScmoProjekt getProjekt() {
return projekt;
}
public void setProjekt(ScmoProjekt projekt) {
this.projekt = projekt;
}
public Date getDatum() {
return datum;
}
public void setDatum(Date datum) {
this.datum = datum;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
@Override
public int hashCode() {
int hash = 0;
hash += (id != null ? id.hashCode() : 0);
return hash;
}
@Override
public boolean equals(Object object) {
// TODO: Warning - this method won't work in the case the id fields are not set
if (!(object instanceof ScmoKomponente)) {
return false;
}
ScmoKomponente other = (ScmoKomponente) object;
if ((this.id == null && other.id != null) || (this.id != null && !this.id.equals(other.id))) {
return false;
}
return true;
}
@Override
public String toString() {
return "scmo.model.project.ScmoKomponente[ id=" + id + " ]";
}
}
删除功能:
public void deleteScmoKomponente(ScmoKomponente ScmoKomponente) {
em.remove(em.merge(ScmoKomponente));
}
和呼叫:
public String deleteScmoKompo() {
ss.deleteScmoKomponente(selectedKompo);
selectedKompo = null;
return scmoEditKompo();
}
当我现在尝试删除scmoKomponent它会自动删除ScmoProjekt和供应商用户在数据库中的对象。
答
如果我正确地知道,如果你设置CascadeType.ALL
hibernate或jpa会做更改你的父实体时更新,保存,删除等子元素的所有操作。 所以,如果你想修复你的程序,只需从@Many-to-One
注释中删除cascade attr。
您可以找到有关级联类型here
简单但有效实现了一些信息,非常感谢你! – Joscha 2013-02-14 12:08:46