如何解决@DataJpaTest 与 SpringBoot - 不抛出 OptimisticLocking 异常
我有使用 postgresql 的 @DataJpaTest
。不在内存中。
尝试测试乐观锁定异常。但它没有抛出异常。我对同一个数据库进行了类似的测试,但使用不同的架构,但使用 @SpringBoottest
可以正常工作。有什么想法吗?
@DataJpaTest
@AutoConfigureTestDatabase(replace = AutoConfigureTestDatabase.Replace.NONE)
@Slf4j
class MyApplicationTest {
@Autowired
private MyRepository myRepository;
@Test
void withOptimisticLockHandling_shouldThrowException() {
PersonEntity entity = myRepository.saveAndFlush(createPerson(id));
String id = entity.getId();
PersonEntity update1 = myRepository.findById(id).get();
PersonEntity update2 = myRepository.findById(id).get();
update2.setName("Hello1");
myRepository.saveAndFlush(update2);
update1.setName("Hello2");
assertThrows(ObjectOptimisticLockingFailureException.class,() -> myRepository.saveAndFlush(update1));
}
PersonEntity
有一个用 @Version
注释的字段,数据库有一个字段 version
。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。