Ответ 1
Вы можете использовать Query # uniqueResult() с Hibernate, если я не ошибаюсь. Я думаю, это то, что вы ищете. В этом случае вы должны обрабатывать NonUniqueResultException
в своем коде, если из вашего запроса было несколько строк.
Выполняет ли выполнение запроса всегда список? Как заменить код ниже, если я уверен, что он вернет только один объект?
@Override
public List<DocInfo> findAllByDocId(String docId)
{
Query q = getCurrentSession().createQuery("from DocInfo item where item.id = :docId");
q.setString("docId", docId);
List<DocInfo> docInfoList = q.list();
return docInfoList;
}
Вы можете использовать Query # uniqueResult() с Hibernate, если я не ошибаюсь. Я думаю, это то, что вы ищете. В этом случае вы должны обрабатывать NonUniqueResultException
в своем коде, если из вашего запроса было несколько строк.
Вы можете использовать
query.getSingleResult();
когда вы абсолютно уверены, что запрос вернет только одну строку, и я говорю о
import javax.persistence.Query;
Если вы загружаете идентификатор (pk), как вы видите здесь, вы действительно должны использовать Session.load/Session.get.