Hibernate + Spring + JUnit测试

时间:2016-01-19 18:25:15

标签: java spring hibernate jpa junit

在我的项目中,我有一个服务(标记为@Transactional),其中包含从DB读取记录到实体并使用某些数据更新的方法。 它工作正常,直到我决定编写一些JUnit测试..

这是问题..我正在使用 AbstractTransactionalJUnit4SpringContextTests 扩展测试类 - 测试后需要它进行回滚。同样在测试方法中,我正在创建新实体,并将其保存到数据库中。比我正在调用我的服务方法,它应该更新实体。调用该方法后,我在日志中看到 Object已与会话关联,因此未更新,测试失败。

我知道在服务尝试更新实体时,它有两个具有相同ID等的对象,但在这种情况下我该怎么办?在服务中使用合并不是我认为是一个选择......

问候, 微米。

1 个答案:

答案 0 :(得分:0)

好的..一如既往地问我找到了答案......

在测试方法中,我添加了调用 flush和clear of current session ,之后一切正常。