[TIL] 2019-10-25

김현성·2019년 10월 25일
1

TIL

목록 보기
3/25

Spring boot


  • 다양한 연관관계 처리
    * 일 대다, 다 대다, 단방향, 양방향

  • 연관관계의 설정과 단방향/양방향
    * 단방향'이란, 간단히 말해서 '일방 통행'의 참조라고 생각. 예를 들어, 회원 정보를 통해서만 프로필 정보를 볼 수 있는 구조

    • 양방향'은 프로필 사진을 먼저 알아내고, 이를 통해서 회원정보를 알아내는 경우
  • JPA 에서의 연관관계
    * @OneToOne, @OneToMany, @ManyToOne, @ManyToMany

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

  • @Commit
    * 테스트 결과를 테이터베이스에 commit하는 용도

  • 단방향의 문제와 Fetch Join
    ex) '회원 정보를 조회하면서 회원의 현재 프로필 사진도 같이 보여주어야 한다.'
    ex) "uid가 'user1'인 회원의 정보와 더불어 회원의 프로필 사진 숫자를 알고 싶다"
    * test ex)

    ```java
        @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);
    ```
        
    ```java
    @Test
    public void testFetchJoin1(){
    
    List<Object[]> result = memberRepo.getMemberWithProfileCount("user1");
    
    result.forEach(arr -> System.out.println(Arrays.toString(arr));

    }

    ```		
profile
내가 이해한 코드가 다른 개발자도 이해한다! 안녕하세요 JAVA 개발자 입니다.

0개의 댓글