当找不到某些东西时,在 JPA 中抛出异常的理由是什么?
补充:
此行为在 EJB2 中可见,并且已从 EJB3 中删除 - 但是...在调用抛出 NoResultException 的Query#getSingleResult()时仍然存在。
通常我不认为找不到某些东西是一个例外。实际上,在某些情况下,这可能是我的默认情况,并且在大多数其他情况下至少是预期的情况。这让我想起了一句老话,您不应该将异常用作业务逻辑的一部分,而只能将异常用作您不知道或不想处理的特殊情况。
有谁知道为什么它在 JPA 中以这种方式实现?找不到东西时返回 null 有什么缺点?