我对 JPA 有疑问。我正在尝试从数据库中删除一个实例,但是当调用该方法时会触发错误。
这是错误:
Caused by: org.springframework.dao.InvalidDataAccessApiUsageException: deleted entity passed to persist: [com.catalogor3e.entity.SistemaCamada#<null>]; nested exception is org.hibernate.ObjectDeletedException: deleted entity passed to persist: [com.catalogor3e.entity.SistemaCamada#<null>]
以下是一些重要的代码:
关系:
-这是关于类Sistema:
@OneToMany(mappedBy="sistema", cascade= CascadeType.ALL)
@LazyCollection(LazyCollectionOption.FALSE)
@Cascade(org.hibernate.annotations.CascadeType.DELETE_ORPHAN)
private List<SistemaCamada> relacionamentoSistemaCamada;
- 这是关于 SistemaCamada 类的反比关系:
@ManyToOne
@JoinColumn(name="id_sistema")
private Sistema sistema;
调用 DAO 的方法来删除 Sistema 的实例:
@Transactional
public void deleteSistema(Sistema sistema){
Sistema sis = this.entityManager.find(Sistema.class, sistema.getId());
entityManager.remove(sis);
}
我认为这是级联方法的问题。
拜托,有人能帮我解决这个问题吗?
阿特,
迭戈·萨比诺