HomeAboutMeBlogGuest
© 2025 Sejin Cha. All rights reserved.
Built with Next.js, deployed on Vercel
🚀
Random Bit Flip
/
🚀
[2기 - 레이] 9주차 RBF
/
키워드 관련 작성 - 정하영

키워드 관련 작성 - 정하영

9주차 RBF

  • JPA
    • 객체지향 패러다임과 데이터베이스 패러다임 차이로 인해 객체지향적으로 개발하지 못하는 점을 해결
    • 예) RDB는 fk로 연관관계 연결, 멤버가 속한 팀을 구해오기 위해선 쿼리 2번
    • 객체지향에서는 member.getTeam() → 참조를 가지고 있고 이 참조를 통해 구해옴.
    • 엔티티 ↔  테이블 매핑으로 객체지향적인 개발에 집중할 수 있게 해줌
  • 영속성 컨텍스트
    • EntityManagerFactory, EntityManager
      • EntityManagerFactory:
        • 엔티티 매니저 생성 역할
        • 어플리케이션에서 하나만 생성해서 공유
        • thread-safe
      • EntityManager
        • 스레드마다 하나씩 생성 사용
        • em 통해 영속성 컨텍스트에 접근
        • thread-safe 하지 x
    • 영속성컨텍스트
      • 엔티티 영속성 관리
      • 트랜잭션에 종속적
      • 내부 1차 캐시에 영속화된 엔티티를 저장해둠
    • 엔티티 생명주기
      • New, Managed, Detached, Removed 상태가 있음
  • 엔티티 매핑
    • 테이블 ↔  엔티티 매핑
    • 하나의 엔티티는 하나의 테이블과 매핑된다
  • 연관관계 매핑
    • 각 엔티티들 사이의 연관관계를 표현
    • 일대일, 일대다, 다대다..
  • 고급매핑
    • 영속성 전이
    • 고아 객체
    • MappedSuperClass
  • 프록시
    • 엔티티의 지연로딩에 사용
    • 우선 프록시 객체를 넣어두고 초기화 하는 식
    • 초기화는 영속성 컨텍스트에 도움이 필요하므로 영속화된 엔티티만 프록시
    • 초기화 사용 가능
    •