Back to questions
IT One
Junior — Middle
69
Каким образом выполнять нативные SQL-запросы в рамках Hibernate?
Companies where asked
Answer from AI
sobes.tech AI
В Hibernate для выполнения нативных SQL-запросов используется метод createNativeQuery объекта EntityManager или Session.
Пример с использованием EntityManager:
String sql = "SELECT * FROM users WHERE status = :status";
List<Object[]> results = entityManager.createNativeQuery(sql)
.setParameter("status", "ACTIVE")
.getResultList();
Если нужно получить объекты сущностей, можно указать класс:
List<User> users = entityManager.createNativeQuery(sql, User.class)
.setParameter("status", "ACTIVE")
.getResultList();
Также в Hibernate Session:
List<User> users = session.createNativeQuery(sql, User.class)
.setParameter("status", "ACTIVE")
.getResultList();
Таким образом, нативные SQL-запросы позволяют выполнять произвольные запросы к базе, минуя HQL или Criteria API.