我正在尝试使用genericDAO
的方法delete删除实体。我有一个RessourcenbuchungDAO
,它使用我的genericDAO
的删除功能,但没有收到错误消息,它应该可以工作,但是我的数据库没有变化。在我的EntityDAO
中,相同的删除方法也可以正常工作,但我找不到我希望有人能提供帮助的错误。
我的GenericDAO删除方法:
protected boolean delete(Object id, Class<T> classe){
//Versuchen objekt zu lesen
T entityToBeRemoved = em.getReference(classe, id);
try {
em.remove(entityToBeRemoved);
return true;
} catch (Exception e){
System.out.println("Error: "+id.toString());
return false;
}
}
我调用genericDAO的delete方法的方法
public boolean schuelerSectionEntfernen(int buchungsId) {
Ressourcenbuchung aRessourcenbuchung = ressourcenbuchungsDAO.find(buchungsId);
System.out.println("Buchung " + aRessourcenbuchung.getBuchungsId() + " wurde zum Loeschen gefunden.");
if (aRessourcenbuchung == null)
return Boolean.FALSE;
else {
System.out.println("Test Loeschen");
ressourcenbuchungsDAO.delete(aRessourcenbuchung);
return Boolean.TRUE;
}
}
我的资源补习班
@Entity
@Access(AccessType.FIELD)
@Table(name = "HA2_RESSOURCENBUCHUNGEN")
public class Ressourcenbuchung implements Serializable {
/**
*
*/
private static final long serialVersionUID = -2489159602487241894L;
private int schuelerId;
@ManyToOne(fetch = FetchType.EAGER, cascade = CascadeType.ALL)
private Section section;
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "MUSIKSCHULE_BUCHUNG_ID")
@SequenceGenerator(name = "MUSIKSCHULE_BUCHUNG_ID", sequenceName = "MUSIKSCHULE_SEQ_BUCHUNG_ID", allocationSize = 1)
private int buchungsId;