getSingleResult
выдает NonUniqueResultException
, если имеется несколько строк.Он предназначен для извлечения одного результата, когда действительно один результат.
То, как вы это сделали, прекрасно, и JPA разработан для правильной обработки.В то же время вы никак не можете сравнить его с getSingleResult
, так как он не будет работать.
Однако, в зависимости от кода, над которым вы работаете, всегда лучше уточнить запрос для возвратаединственный результат, если это все, что вы хотите - тогда вы можете просто позвонить getSingleResult
.