- 정의
- JPA 를 사용하여 엔티티 객체를 조회하기 위한 객체지향 쿼리언어
- SQL 과 추상화
- DB의 테이블과 컬럼이 아닌 엔티티와 그 속성을 대상으로 쿼리를 작성함
- 특정 DB에 의존 X
- 데이터베이스 방언을 변경하는 것만으로 다른 DB로의 이전이 가능
- 코드 간결성
- 엔티티 직접 조회
- 묵시적 조인
- 다형성 지원 등의 장점
@Entity
public class Member {
@Id
@GeneratedValue
private Long id;
@Column(name = "NAME", nullable = false)
private String name;
- 테스트 코드
@Autowired
private EntityManager em;
@BeforeEach
void setUp() {
Member member = new Member();
member.setName("ipeac");
em.persist(member);
}
@Test
public void findMember() {
String jpql = "select m from Member m where m.name = 'ipeac'";
Member member = em.createQuery(jpql, Member.class)
.getSingleResult();
}
- setUp에서
insert into member (city, street, zipcode, name) values (NULL, NULL, NULL, 'ipeac');
- select 시
select m1_0.id, m1_0.city, m1_0.street, m1_0.zipcode, m1_0.name from member m1_0 where m1_0.name='ipeac'
Uploaded by N2T
'자바 > JPA' 카테고리의 다른 글
[JPA] 값 타입 컬렉션 제약사항과 대안적 접근 방법 (0) | 2023.11.09 |
---|---|
[JPA] 객체지향 쿼리 (0) | 2023.11.09 |
[JPA] JPQL 의 기본 문법과 쿼리 API (0) | 2023.11.09 |
[JPA] JPQL 파라미터 바인딩 (0) | 2023.11.09 |
[JPA] 프로젝션 (0) | 2023.11.09 |