자카르타 지속성 쿼리 언어

Jakarta Persistence Query Language
자카르타 지속성 쿼리 언어
OS크로스 플랫폼
웹 사이트eclipse-ee4j.github.io/jakartaee-tutorial/persistence-querylanguage.html,%20https : //eclipse-ee4j.github.io/jakartaee-tutorial/ #the-internance-language
영향을 받다
SQL, 휴지 상태

자카르타 지속성 쿼리 언어(JPQL, 이전 Java 지속성 쿼리 언어)는 자카르타 지속성(JPA, 이전 Java 지속성 API) 사양의 일부로 정의된 플랫폼에 의존하지 않는 객체 지향 쿼리 언어입니다.

JPQL은 관계형 데이터베이스에 저장된 엔티티에 대해 쿼리를 작성하기 위해 사용됩니다.SQL에서 많은 영감을 받아 쿼리는 구문에서 SQL 쿼리와 유사하지만 데이터베이스 테이블을 직접 사용하는 것이 아니라 JPA 엔티티 개체에 대해 작동합니다.

오브젝트 취득에 가세해(SELECT쿼리), JPQL은 set based를 지원합니다.UPDATE그리고.DELETE문의합니다.

예를 들어 JPA 클래스, getter 및 setter는 단순성을 위해 생략됩니다.

@엔티티 일반의 학급 작가. {     @Id     사적인 정수 아이디;     사적인 스트링 이름;     사적인 스트링 ;       @ManyToMany     사적인 목록.< >> 책들; }   @엔티티 일반의 학급  {     @Id     사적인 정수 아이디;     사적인 스트링 직함;     사적인 스트링 인식하다;       @ManyToOne     사적인 출판인 출판인;       @ManyToMany     사적인 목록.< >작가.> 작가들; }   @엔티티 일반의 학급 출판인 {     @Id     사적인 정수 아이디;     사적인 스트링 이름.;     사적인 스트링 주소.;       @1대 다(매핑 기준 = "실패")     사적인 목록.< >> 책들; } 

다음으로 알파벳 순으로 정렬된 모든 작성자 목록을 검색하기 위한 간단한 쿼리는 다음과 같습니다.

선택한다. a 부터 작가. a 주문 타고 a.이름, a. 

XYZ Press에서 지금까지 출판된 저자 목록을 검색하려면:

선택한다. 분명한 a 부터 작가. a 내부 합류하다 a.책들 b 어디에 b.출판인.이름. = 'XYZ 프레스' 

JPQL은 콜론으로 시작하는 명명된 파라미터를 지원합니다.:성(姓)을 가진 작성자 목록을 반환하는 함수를 다음과 같이 작성할 수 있습니다.

수입품 javax.contractence를 클릭합니다.엔티티 매니저; 수입품 javax.contractence를 클릭합니다.유형 쿼리;  ...  일반의 목록.< >작가.> getAuthorsByLastName(스트링 ) {     스트링 query String = "작성자의 선택" +                          여기서 a.lastName은 NULL 또는 LOWER(a.lastName) = LOWER(: lastName)입니다.;      유형 쿼리< >작가.> 질문하다 = getEntityManager().createQuery(작성쿼리)(query String, 작가..학급);     질문하다.set 파라미터("성", );     돌아가다 질문하다.get Result List(get Result List)(); } 

휴지 상태 쿼리 언어

JPQL은 휴지 상태 객체 관계 매핑 라이브러리에 포함된 이전의 비표준 쿼리 언어인 휴지 상태 쿼리 언어(HQL)를 기반으로 합니다.

휴지 상태 및 HQL은 JPA 사양보다 먼저 작성되었습니다.휴지 상태 3의 현재 JPQL은 HQL의 서브셋입니다.

「 」를 참조해 주세요.

외부 링크