当您期望从 JPA 查询中获得 0 或 1 个结果时的最佳处理方式

Best way to handle when you are expecting 0 or 1 results from JPA query

我有一个实体,它应该为空或只有一个结果。目前我是这样处理的:

    Entity entity = null;
    try {
        entity = query.getSingleResult();
    } catch (NoResultException ignore) {
        return null;
    }
    return entity;

但这是 "best" 的做法吗?我不喜欢忽略异常,但同样不喜欢我能想到的唯一选择:

    List<Entity> entities = null;
    entities = query.getResultList();
    if (entities.size() > 0) {
        return entities.get(0);
    }
    return null;

您可以在此处找到有关此主题的讨论: JPA getSingleResult() or null

看来没有更好的选择了。