LINUX.ORG.RU

История изменений

Исправление Legioner, (текущая версия) :

У меня вот такой утилитный метод есть для этих целей:


    public static <T> Optional<T> getSingleResultOpt(TypedQuery<T> query) {
        List<T> list = query.getResultList();
        Iterator<T> iterator = list.iterator();
        if (!iterator.hasNext()) {
            return Optional.empty();
        }
        T result = iterator.next();
        if (iterator.hasNext()) {
            throw new NonUniqueResultException();
        }
        return Optional.of(result);
    }

Если жава не 8-я, можно null возвращать.

Исправление Legioner, :

У меня вот такой метод есть:


    public static <T> Optional<T> getSingleResultOpt(TypedQuery<T> query) {
        List<T> list = query.getResultList();
        Iterator<T> iterator = list.iterator();
        if (!iterator.hasNext()) {
            return Optional.empty();
        }
        T result = iterator.next();
        if (iterator.hasNext()) {
            throw new NonUniqueResultException();
        }
        return Optional.of(result);
    }

Если жава не 8-я, можно null возвращать.

Исходная версия Legioner, :

У меня вот такой метод есть:


    public static <T> Optional<T> getSingleResultOpt(TypedQuery<T> query) {
        List<T> list = query.getResultList();
        Iterator<T> iterator = list.iterator();
        if (!iterator.hasNext()) {
            return Optional.empty();
        }
        T result = iterator.next();
        if (iterator.hasNext()) {
            throw new NonUniqueResultException();
        }
        return Optional.of(result);
    }
[/java]

Если жава не 8-я, можно null возвращать.