无法使以下代码正常工作...
我已经JpaTransactionManager
txManager
自动连接到这个测试中。我知道 ID 为 39 的记录确实存在。它仍然存在于交易结束时,也......
TransactionStatus status = txManager.getTransaction(def);
A a = mock(A.class);
when(a.getId()).thenReturn(Long.valueOf(39));
sut.delete(a);
txManager.commit(status);
status = txManager.getTransaction(def);
a = sut.get(a.getId());
txManager.commit(status);
assertNull(a);
类中的代码A
:
public void delete(A a) {
a = getEntityManager().find(A.class, a.getId());
getEntityManager().remove(a);
}
上述 assertNull 检查是否有任何原因总是失败?无论我做什么,我都无法从系统中删除该对象 - 没有返回错误,也没有报告删除问题。(顺便说一句,直接在 HQL 中运行查询确实会更新数据库......我只是无法使用使用 JPA 提供的删除方法来让它工作......)
任何帮助表示赞赏