我正在尝试删除数据库中不存在的实体,但 delete() 方法没有任何异常。
当我尝试删除不存在的实体时,如何得到错误?
我在下面复制了我的代码:
public void remove(MyEntity persistentInstance) {
logger.debug("removing entity: " + persistentInstance);
try {
sessionFactory.getCurrentSession().delete(persistentInstance);
logger.debug("remove successful");
} catch (final RuntimeException re) {
logger.error("remove failed", re);
throw re;
}
}
编辑:
我使用以下代码在测试中调用删除:
final MyEntity instance2 = new MyEntity (Utilities.maxid + 1); //non existent id
try {
mydao.remove(instance2);
sessionFactory.getCurrentSession().flush();
fail(removeFailed);
} catch (final RuntimeException ex) {
}
即使我调用刷新测试也不会失败,为什么?
我想得到一个例外。无论如何,我也有兴趣了解 delete() 何时会引发异常。