【发布时间】:2018-07-17 08:26:56
【问题描述】:
我的案例:Postgresql 数据库,一个“支出”表,一个带有“total_spendings”列的“用户”表。我在 'spendings' 表上有一个触发器,它更新了 'total_spendings' 列。
我使用 Spring JPA,并且我的测试使用注释
@RunWith(SpringJUnit4ClassRunner.class)
@Transactional
@Rollback
在“支出”表中插入后,我不知道如何检索“总支出”列的新值。我重新加载了 User 实体,它显示了旧值。
如果我删除@Transactional 和@Rollback,它会按预期工作,但我必须在测试后清理数据。
如何在@Rollback 单元测试事务中执行此操作?
谢谢
【问题讨论】:
-
您可以在测试类的
EntityManager上调用flush()。
标签: junit spring-data rollback transactional database-trigger