为什么 Spring Data 存储库上的 getOne(...) 不抛出 EntityNotFoundException?
2022-09-01 15:44:18
我正在处理一个奇怪的问题,我正在做集成测试,调用我的控制器从数据库中获取一个不存在的对象。
public Optional<T> get(Long id) {
try {
return Optional.ofNullable(repository.getOne(id));
} catch(EntityNotFoundException e) {
return Optional.empty();
}
}
当找不到任何东西时,我期待一个但实际上什么都没有。如果我检查我的结果,我可以看到我有一个空实体,其中有一个处理程序链接到它“扔了”,但我们没有进入捕获,我返回这个奇怪实体的可选。getOne(…)
EntityNotFoundException
EntityNotFoundException
我无法理解这种行为。