Spring boot


  • 다양한 연관관계 처리

    • 일 대다, 다 대다, 단방향, 양방향
  • 연관관계의 설정과 단방향/양방향

    • 단방향'이란, 간단히 말해서 '일방 통행'의 참조라고 생각. 예를 들어, 회원 정보를 통해서만 프로필 정보를 볼 수 있는 구조
    • 양방향'은 프로필 사진을 먼저 알아내고, 이를 통해서 회원정보를 알아내는 경우
  • JPA 에서의 연관관계

    • @OneToOne, @OneToMany, @ManyToOne, @ManyToMany
  • @Log

    • Lombok의 로그를 사용할 때 이용
  • @Commit

    • 테스트 결과를 테이터베이스에 commit하는 용도
  • 단방향의 문제와 Fetch Join

    • ex) '회원 정보를 조회하면서 회원의 현재 프로필 사진도 같이 보여주어야 한다.'

    • ex) "uid가 'user1'인 회원의 정보와 더불어 회원의 프로필 사진 숫자를 알고 싶다"

      • test ex)
        @Query("SELECT m.uid, count(p) FROM Member m LEFT OUTER JOIN Profile p ON m.uid = p.member WHERE m.uid = ?1 GROUP BY m")
        public List<Object[]> getMemberWithProfileCount(String uid);
      @Test
      public void testFetchJoin1(){
      
      List<Object[]> result = memberRepo.getMemberWithProfileCount("user1");
      
      result.forEach(arr -> System.out.println(Arrays.toString(arr));
      }