Junior — Middle
65
Можете объяснить, что такое именованный запрос в Hibernate и как он применяется?
Ответ от нейросети
sobes.tech AI
Именованный запрос в Hibernate — это заранее определённый запрос (HQL или SQL), которому присвоено уникальное имя и который можно многократно использовать в коде. Такой запрос обычно объявляется в аннотациях @NamedQuery или в XML-конфигурации.
Преимущества именованных запросов:
- Повторное использование одного и того же запроса в разных местах.
- Централизованное управление запросами.
- Возможность проверки синтаксиса запроса при загрузке приложения.
Пример объявления именованного запроса с использованием аннотации:
@Entity
@NamedQuery(
name = "User.findByEmail",
query = "FROM User u WHERE u.email = :email"
)
public class User {
@Id
private Long id;
private String email;
// геттеры и сеттеры
}
Использование в коде:
Query query = session.createNamedQuery("User.findByEmail");
query.setParameter("email", "example@mail.com");
User user = (User) query.uniqueResult();