Junior — Middle
101
Jak wykonywać natywne zapytania SQL w Hibernate?
Firmy, w których zadano pytania
Odpowiedź od 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.