到目前为止,我认为,方法find()让我们感到很舒服,我们只有这一刻可管理的实体。
我知道merge()返回可管理的实体,但为什么在这种情况下需要它呢?
public void delete(int id) throws DatabaseException {
Project data = em.find(Project.class, id);
if(data == null) {
throw new NotExistsException("id");
}
em.remove(em.merge(data));
}
答案 0 :(得分:1)
我猜你错过了交易......
如果您在方法开始时启动事务并在em.remove之后提交它,它应该可以工作。