TIL

[TIL] 2021.12.31 기술면접 질문 정리 - JPA

na_o 2022. 1. 1. 04:28
728x90
  • JPA FetchType?
    • JPA가 하나의 엔티티를 조회할 때 연관관계에 있는 객체들을 어떻게 가져올 것인지를 나타내는 설정값 
      • Eager 전략
        • 연관관계에 있는 엔티티들을 모두 가져온다
      • Lazy 전략
        • 연관관계에 있는 엔티티를 가져오는 게 아닌 getter로 접근할 때 가져온다
      JPA 의 Fetch Type 과 친해지기

  • JPA사용할 때랑 직접 SQL을 사용할 때의 차이
    • JPA
      • RDB의 종류에 상관 없이 사용 가능. DB 변경이나 코드 재활용에 용이
      • 기본적인 CRUD 제공과 페이징 처리 등 상당수가 구현되어 있어 비즈니스 로직에 더 집중 가능
      • 테이블 생성, 변경 등 엔티티 관리가 간편
      • SQL에 집중할 필요가 없어 빠른 개발
    • SQL(MyBatis)
      • JPA에 비해 쉬움
      • SQL의 세부적인 내용 변경 시 좀 더 간편
      • 동적 쿼리 사용 시 JPA보다 간편하게 구현 가능
    JPA와 MyBatis의 차이 (ORM과 SQL Mapper)

  • JPA에서 PK는 어떻게 설정하나요?
    • 직접 할당
      • @Id 어노테이션 사용
    • 자동 생성
      • @GeneratedValue 어노테이션 사용
        • IDENTITY : @GeneratedValue(strategy = GenerationType.IDENTITY) 추가
        • SEQUENCE : @GeneratedValue(strategy = GenerationType.SEQUENCEW) 추가
        • 사용 예시
    [JPA] 기본 키(PK) 매핑

'TIL' 카테고리의 다른 글

[TIL] 2022.01.02 면접 질문 대비 JPA, Java  (0) 2022.01.02
[TIL] 2022.01.01 새해  (0) 2022.01.01
[TIL] 2021.12.30 면접에 대한 무서움  (4) 2021.12.30
[TIL] 2021.12.28 퇴사 후 첫 면접  (0) 2021.12.29
[TIL] 2021.12.27 면접 준비  (0) 2021.12.27