EJB QL или EJB-QL — это переносимый язык запросов к базе данных для Enterprise Java Beans . Он использовался в приложениях Java EE . Однако по сравнению с SQL он менее сложен, но и менее мощный. [1]
Язык, особенно EJB3-QL, был вдохновлен родным языком запросов Hibernate . [2]
В EJB3 он по большей части заменен языком запросов Java Persistence Query Language .
EJB QL — это язык запросов к базе данных, аналогичный SQL. Используемые запросы несколько отличаются от реляционного SQL, поскольку вместо реляционной модели он использует так называемую «абстрактную схему» корпоративных компонентов. Другими словами, запросы EJB QL используют не таблицы и их компоненты, а корпоративные компоненты, их постоянное состояние и их отношения. Результатом SQL-запроса является набор строк с фиксированным количеством столбцов. Результатом запроса EJB QL является либо один объект, либо коллекция объектов сущностей заданного типа, либо коллекция значений, полученных из полей CMP . Чтобы писать эффективные запросы, необходимо понимать модель данных корпоративных компонентов. [3]