본문 바로가기

Back-End34

TIL 230712 : 자바의 람다식 짚고 넘어가기(2) 메소드 참조 https://thiswooin.tistory.com/50 TIL 230711 : 자바의 람다식 짚고 넘어가기. 조금은 머쓱한 얘기지만 자바의 기본 문법을 배울 때 잘 이해되지 않고 다른 것들에 밀려 유보해두었던 람다와 스트림에 대해 다시 한 번 공부를 해서 개념을 짚고 넘어가보려 합니다. 강의를 thiswooin.tistory.com 지난 시간 이어서 메소드 참조에 대해서도 정리해보려 한다. 메소드 참조 Page responseDtoList = products.map(ProductResponseDto::new); 위 코드에서 맨마지막 부분이 의문이었다. 모던자바 문법 중 하나로 메소드 참조라는 문법이다. 예시 (left, right) -> Math.max(left,right); 위와 같은 람다식에서 M.. 2023. 7. 13.
TIL 230711 : 자바의 람다식 짚고 넘어가기. 조금은 머쓱한 얘기지만 자바의 기본 문법을 배울 때 잘 이해되지 않고 다른 것들에 밀려 유보해두었던 람다와 스트림에 대해 다시 한 번 공부를 해서 개념을 짚고 넘어가보려 합니다. 강의를 들으며 이해가 안 됐던 코드 두가지가 있다. Product product = productRepository.findById(id).orElseThrow(()-> new NullPointerException("해당 상품은 존재하지 않습니다.") ); Page responseDtoList = products.map(ProductResponseDto::new); 바로, 람다식 그리고 메서드 참조이다. 람다식 람다식은 우선 코드를 간편하게 해주기 위해 태어난 것이다. 반대로 말하면 위의 람다식을 이용한 코드를 람다식이 없을 때.. 2023. 7. 12.
TIL 230703 : JPA Buddy라는 것이 이 세상에 있었다 JPA Buddy를 알고 계셨나요? 저는 오늘 JPA Buddy라는 발음 자체를 처음으로 들었습니다. 문제 다른 프로젝트에서 쓰여진 코드를 가져오다 쿼리메소드에서 오류가 났다. 해당 Repository를 다루는 Entity인 Post에는 modifiedAt이라는 멤버가 없었다. 다행히 오류 자체는 발견하고 해결도 쉬웠다. 다만, 메소드의 이름자체만으로도 작동이 가능한 JpaRepository이지만 위와 같이 단순한 오탈자에 의해 오류를 범할 수도 있다는 생각이 들었다. 관련해서 매니져님께서는 JPA Buddy라는 플러그인을 알려주셨고, 이러한 플러그인의 존재 자체에 놀랐다. JPA Buddy 세팅 - 플러그인 - 마켓플레이스에서 검색으로 쉽게 찾을 수 있었다. 설치이후 ~~repository하고 도트 연.. 2023. 7. 3.
TIL 230630 : (이어서) Entity반환시 문제. (Dto의 중요성) https://thiswooin.tistory.com/39 TIL 230629 : List to JSON 객체 반환시 오류 (jackson) 오늘도 어김없이 이해할 수 없는 타이밍에 찾아오는 오류. 단순히 GET메소드로 포스트ResponseDto를 객체로 리턴받는 건데, 하나하나 할때는 되는데 전체를 하면 안 된다. 유독 13번 Post만 GET이 안된 thiswooin.tistory.com 처음으로, 해결 못 하고 TIL을 마쳤던 어제의 오류, 아침부터 다른 방법들로 시도해보고 했는데 겨우 해결했다.... 문제 Post에는 Reply가 OneToMany로 List의 형태로 담겨있다. PostResponseDto에도 List를 추가했다. 결과적으로, Reply가 있는 Post를 Client에 반환하면 오.. 2023. 6. 30.
TIL 230629 : List to JSON 객체 반환시 오류 (jackson) 오늘도 어김없이 이해할 수 없는 타이밍에 찾아오는 오류. 단순히 GET메소드로 포스트ResponseDto를 객체로 리턴받는 건데, 하나하나 할때는 되는데 전체를 하면 안 된다. 유독 13번 Post만 GET이 안된다. FK가 있어서일까?? (2~5는 이전 과제에서 등록된 객체) 새롭게 FK가 지정된 글 14번을 만들었다. 역시나 이건 잘 불러와진다. ResponseDto에 댓글을 담은 List가 있었다. 혹시나 하는 마음에 댓글 테이블을 확인해본다. | 드디어.. 발견했다. 아무래도 JSON 객체 를 해주는 과정에서 List는 오류가 나는 게 아닌가 싶었다. 왠지 jackson의 CollectionSerializer 저 부분일까 싶다. Jackson의 ObjectMapper objectmapper의 다양.. 2023. 6. 29.
TIL 230628 : mappedBy 적응해보기 양방향 관계의 1:1 의 두 Entity 양방향일때, mappedBy 옵션으로 외래키의 주인을 지정해줘야한다. 위 예에서는 Food에서 외래키를 갖는 것으로 설정되어있다. Food에다가 외래키를 테이블 칼럼으로 설정하고 싶은곳에 @JoinColumn하고 Column이름을 설정해준다. 그리고 그 밑에 외래키로 받아올 객체를 선언해준다. 양방향의 경우 반대 Entity에는, 다시 말해 외래키가 없는 Entity에는 mappedBy를 써주고 외래키의 주인에 있는 변수명을 뒤에 적어준다. 본인 클래스의 이름이 아닌 외래키의 주인의 변수명을 따르는 것. User를 통해 Food 조회해보기 외래키의 주인은 Food. User를 통해서도 조회가 가능한지 확인해보자. 유저Repository에서 그냥 한번 가져와보자. .. 2023. 6. 28.