- Запросы с использованием HQL
- Hibernate позволяет производить запросы на HQL(The Hibernate Query Language — Язык запросов Hibernate), который во многом похож на язык SQL, с той разницей, что является полностью объектно-ориентированным.
- Если запрос с помощью SQL производился методом createSQLQuery, то в HQL будет просто createQuery.
- Простой пример:
- List studs = (List)session.createQuery("from Student
- order by name").list()
- Видно, что select в начале запроса можно не указывать.
- Поскольку HQL — объектно-ориентированный язык, то значение полей можно выбрать и так:
- List names = (List)session.createQuery("select
- stud.name from Student stud order by name").list();
- А можно и так:
- List result = session.createQuery("select new list(stud, name, stud.age)
- from Student as stud").list();
- Язык HQL относительно сложен, но зато богат и дает очень много возможностей.
Достарыңызбен бөлісу: |