JPA: Как получить сущность на основе значения поля, отличного от ID?

В JPA (Hibernate), когда мы автоматически генерируем поле идентификатора, предполагается, что пользователь не знает об этом ключе. Таким образом, при получении объекта пользователь будет запрашивать на основе какого-либо поля, отличного от ID. Как мы получаем сущность в этом случае (так какem.find() не может быть использован).

Я понимаю, что мы можем использовать запрос и отфильтровать результаты позже. Но есть ли более прямой путь (потому что это очень распространенная проблема, как я понимаю).