Java Persistence API의 준말로, 자바 진영 ORM 기술 표준으로 쓰이는 인터페이스의 모음이다.
: JPA가 이용할 객체 엔티티임을 표시
: DB PK와 매핑할 필드 표시
@Entity
public class Member {
@Id
private Long id;
private String name;
}
<?xml version="1.0" encoding="UTF-8"?>
<persistence xmlns="http://xmlns.jcp.org/xml/ns/persistence" version="2.1">
<persistence-unit name="hello">
<properties>
<!-- 필수 속성 -->
<property name="javax.persistence.jdbc.driver" value="org.h2.Driver"/>
<property name="javax.persistence.jdbc.user" value="sa"/>
<property name="javax.persistence.jdbc.password" value=""/>
<property name="javax.persistence.jdbc.url" value="jdbc:h2:tcp://localhost/~/test"/> <property name="hibernate.dialect" value="org.hibernate.dialect.H2Dialect" />
<!-- 옵션 -->
<property name="hibernate.show_sql" value="true" />
<property name="hibernate.format_sql" value="true" />
<property name="hibernate.use_sql_comments" value="true" /> <property name="hibernate.id.new_generator_mappings" value="true" />
<!--<property name="hibernate.hbm2ddl.auto" value="create" />--> </properties>
</persistence-unit> </persistence>
엔티티 객체를 대상으로 사용하는 객체지향 쿼리 언어
: JPA를 이용하면 엔티티 객체 중심으로 개발하기 때문에 검색쿼리에서 문제가 생긴다. 왜냐하면 테이블이 아닌 객체를 대상으로 검색해야되기 때문이다. 이를 해결하기 위해 애플리케이션에서 필요한 데이터만 DB에서 불러오려면 검색 조건이 필요한 SQL문이 필요한데 JPQL이 바로 그것이다.