[프로젝트 공부]

suye 22·2023년 3월 21일

기술면접 준비하기

목록 보기
15/16
post-thumbnail

💡프로젝트 공부

🔹 NativeQuery

JPA와는 무관하게, 실제 DB 쿼리문을 작성할 때 사용한다.
@Query 맨 뒤에 nativeQuery=true라고 설정만 해주면 된다.
또한 엔티티를 조회하던 JPQL 문법과 달리 DB에서 사용하는 테이블 기준 쿼리를 작성하면 된다.

  • nativeQuery의 경우 @Transacion을 직접 설정해주어야 한다
  • @modifying으로 업데이트라는 것을 알려준다

🦠 NativeQuery를 사용하는 이유는?

  • nativeQuery는 JPA에서 제공하지 않는 정보들을 조회할 수 있고, Update를 한번에 처리할 수 있는 장점이 있다.
  • 테이블에서 특정 컬럼만 가져오거나, 여러 테이블을 조인하거나 할 때, Native Query를 사용하게 될 겁니다.

🔹JPA(Java Persistence API)

JPA(Java Persistence API)는 자바 ORM 기술에 대한 API 표준 명세입니다.

  • 결국은 JPA는 객체와 관계형 데이터베이스를 매핑하는 표준 기술을 이용해서 데이터베이스에 요청을 보내고 응답을 받기 위한 방법을 의미

🔹ORM(Object-Relational Mapping)

Object-Relational Mapping으로 객체와 관계형 데이터베이스를 자동으로 매핑(연결)시키는 방법이다.


🔹JPQL(Java Persistence Query Language)

JPQL은 엔티티 객체를 조회하는 객체지향 쿼리다.
테이블을 대상으로 쿼리하는 것이 아니라 엔티티 객체를 대상으로 쿼리한다.

  • JPA에서 제공하는 메소드 호출만으로 섬세한 쿼리 작성이 어렵다는 문제에서 JPQL이 탄생된 것이다.

영속성컨텍스트

  • 엔티티를 영구 저장하는 환경이다.

참고자료
https://hahahoho5915.tistory.com/16
https://escapefromcoding.tistory.com/442
https://cano721.tistory.com/185#JPA%EB%9E%80
https://lkhlkh23.tistory.com/125

0개의 댓글