gpt4 book ai didi

java - 找不到时异常

转载 作者:行者123 更新时间:2023-11-30 12:01:46 25 4
gpt4 key购买 nike

当找不到某些东西时,在 JPA 中抛出异常的基本原理是什么?
已添加:这种行为出现在 EJB2 中,目前已从 EJB3 中删除 - 但是......它在调用 Query#getSingleResult() 时仍然存在。抛出 NoResultException。

通常我不认为找不到某些东西是异常(exception)。实际上,这在某些情况下可能是默认情况,而在大多数其他情况下至少是预期情况。这让我想起了一句老话,即不应将异常用作业务逻辑的一部分,而应按原样使用,即您不知道如何处理或不想处理的特殊情况。

有谁知道为什么它在 JPA 中以这种方式实现?找不到东西时返回 null 有什么缺点?

最佳答案

你是在调用 getReference(class, primaryKey) 吗?如果主键不存在,那将抛出异常;如果您想返回空对象,请改用 find(class, primaryKey) 。 getReference() 允许延迟加载,而 find() 不允许,但它的副作用是要允许延迟加载,您需要引用一个真实的对象,这意味着您必须传递一个有效的 PK。

关于java - 找不到时异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/197155/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com