Для установки нажмите кнопочку Установить расширение. И это всё.

Исходный код расширения WIKI 2 регулярно проверяется специалистами Mozilla Foundation, Google и Apple. Вы также можете это сделать в любой момент.

4,5
Келли Слэйтон
Мои поздравления с отличным проектом... что за великолепная идея!
Александр Григорьевский
Я использую WIKI 2 каждый день
и почти забыл как выглядит оригинальная Википедия.
Статистика
На русском, статей
Улучшено за 24 ч.
Добавлено за 24 ч.
Альтернативы
Недавние
Show all languages
Что мы делаем. Каждая страница проходит через несколько сотен совершенствующих техник. Совершенно та же Википедия. Только лучше.
.
Лео
Ньютон
Яркие
Мягкие

Из Википедии — свободной энциклопедии

Java Persistence Query Language
Класс языка язык запросов
Появился в 2009
Испытал влияние SQL
Сайт eclipse-ee4j.github.io/… (англ.)
eclipse-ee4j.github.io/…

Java Persistence Query Language (JPQL) — платформенно-независимый объектно-ориентированный язык запросов, являющийся частью спецификации Java Persistence API (JPA).

JPQL используется для написания запросов к сущностям, хранящимся в реляционной базе данных. JPQL во многом похож на SQL, но в отличие от последнего, оперирует запросами, составленными по отношению к сущностям JPA, в отличие от прямых запросов к таблицам базы данных.

В дополнение к получению объектов (SELECT-запросы), JPQL поддерживает запросы, основанные на операторах UPDATE и DELETE.

Примеры

Предположим, имеются JPA-сущности, определённые следующим образом (методы установки и получения значения свойств для простоты опущены):

@Entity
public class Author {
    @Id
    private Integer id;
    private String firstName;
    private String lastName;
    
    @ManyToMany
    private List<Book> books;
}

@Entity
public class Book {
    @Id
    private Integer id;
    private String title;
    private String isbn;
    
    @ManyToOne
    private Publisher publisher;
    
    @ManyToMany
    private List<Author> authors;
}

@Entity
public class Publisher {
    @Id
    private Integer id;
    private String name;
    private String address;

    @OneToMany(mappedBy = "publisher")
    private List<Book> books;
}

Следующий запрос позволяет получить список авторов, упорядоченных в алфавитном порядке:

SELECT a FROM Author a ORDER BY a.firstName, a.lastName

Запрос для получения списка авторов, когда-либо опубликованных издательством «XYZ Press»:

SELECT DISTINCT a FROM Author a INNER JOIN a.books b WHERE b.publisher.name = 'XYZ Press'

JPQL поддерживает именованные параметры, которые начинаются с двоеточия (:). Функция, возвращающая список авторов с данной фамилией будет выглядеть следующим образом:

import javax.persistence.EntityManager;
import javax.persistence.Query;

...

@SuppressWarnings("unchecked")
public List<Author> getAuthorsByLastName(String lastName) {
    String queryString = "SELECT a FROM Author a " +
                         "WHERE LOWER(a.lastName) = :lastName";
    Query query = getEntityManager().createQuery(queryString);
    
    query.setParameter("lastName", lastName.toLowerCase());
    return query.getResultList();
}

Hibernate Query Language

JPQL основан на Hibernate Query Language (HQL), более раннем не стандартизованном языке запросов, включённом в библиотеку объектно-реляционного отображения Hibernate.

Hibernate и HQL были созданы до появления спецификации JPA. JPQL является подмножеством языка запросов HQL.

См. также

Ссылки

Эта страница в последний раз была отредактирована 2 января 2020 в 22:28.
Как только страница обновилась в Википедии она обновляется в Вики 2.
Обычно почти сразу, изредка в течении часа.
Основа этой страницы находится в Википедии. Текст доступен по лицензии CC BY-SA 3.0 Unported License. Нетекстовые медиаданные доступны под собственными лицензиями. Wikipedia® — зарегистрированный товарный знак организации Wikimedia Foundation, Inc. WIKI 2 является независимой компанией и не аффилирована с Фондом Викимедиа (Wikimedia Foundation).