전체 글 190

org.junit.jupiter.api.extension.parameterresolutionexception 에러

1. 문제 상황 인프런에서 김영한님의 강의를 들으며 테스트 코드를 짜던 도중에 org.junit.jupiter.api.extension.parameterresolutionexception 라는 에러를 마주했다. 강의에선 김영한님은 @Autowired 어노테이션으로 스프링 빈을 주입받았는데, 나는 생성자 주입을 Lombok의 @RequiredArgsConstructor 어노테이션과 함께 사용해봤는데 생성자 주입을 사용하니까 위와 같은 에러가 발생했다. 똑같이 스프링 빈을 주입 받는 것인데 왜 생성자 주입을 받으면 안 되는 것인지 궁금해서 구글링을 해봤더니 Junit5의 아키텍쳐와 관련이 있었다. 2. Junit5 아키텍쳐? Junit5 아키텍쳐는 Jupiter, Vintage, Junit Platform ..

Error 지식 2022.12.22

H2 데이터베이스 초기 세팅하는 법

인프런에서 김영한님 강의를 들으면서 H2 데이터베이스를 연결해야될 일이 많이 있었다. 그러다보니 새로운 강의를 들을 때 동일한 H2 DB로 계속해서 접속하게 되니까 이전에 만들어뒀던 테이블이 남아있어서 강의를 듣는데 살짝 방해가 됐다. 새로운 DB로 연결하려고 할 때마다 DB 파일을 만들고 JDBC URL을 작성하는 것이 헷갈렸다. 그래서 정리를 해보고자 한다. (H2 DB를 설치했다는 가정 하에 진행) 1. H2 DB 콘솔을 열어준다. 터미널에서 H2 DB를 실행해주면 바로 열리긴 하지만 혹시나 안 된다면 localhost:8082로 접속을 시도하면 된다. 2. JDBC URL 부분에 jdbc:h2:~/파일이름 을 적어주고 연결을 한 번 해준다. 3. 이후 접속부터는 JDBC URL에 jdbc:h2:t..

TIL 2022.12.14

JPA - Fetch Join

JPQL 에서 지원하는 join fetch 기능은 주로 DB에서 데이터를 조회할 때 필요했던 여러 개의 쿼리를 하나의 쿼리로 줄임으로써 쿼리 성능을 향상시킬 때 자주 사용한다. 실무에서 굉장히 자주 사용되는 기술이므로 제대로 알아두는 것이 중요하다. 1. 일반 조인과 페치 조인의 차이 일반 조인과 페치 조인의 가장 큰 차이를 꼽자면 연관된 엔티티를 함께 조회하는지의 여부일 것이다. 일반 조인: 연관된 엔티티를 함께 조회하지 않는다. 페치 조인: 연관된 엔티티를 함께 조회한다. [일반 조인 예시] // JPQL select t from Team t join t.members m where t.name = ‘팀A' // 실제 나가는 SQL SELECT T.* FROM TEAM T INNER JOIN MEMB..

TIL 2022.11.28

객체와 테이블 연관관계 맵핑 - 객체지향 모델링

ORM을 사용하는 이유가 객체와 테이블을 맵핑하여 조금 더 객체지향스럽게 DB에 접근하며 프로그래밍을 하기 위함이라는 점을 감안했을 때 객체와 테이블 간의 맵핑에 대해서 정확하게 이해하는 것은 중요하다고 생각한다. 따라서 이에 관해 공부했지만 늘 휘발되던 것을 기록하고자 한다. 1. 객체와 테이블 간의 차이점 기본적으로 테이블은 테이블 간의 연관관계를 맺었을 때 외래키(FK)로 묶이게 된다. FK로만 묶이게 되면 어느 쪽 테이블에서든지 외래키를 이용하여 join을 하여 다른 테이블의 값을 가져올 수 있으므로 테이블 간의 맵핑에서는 방향이 무의미하다. 그러나 객체 간의 맵핑은 얘기가 다르다. 객체는 참조로써 서로를 확인할 수 있으므로 방향이 중요하다. A 객체에서 B 객체를 참조하는 것과 B 객체에서 A ..

TIL 2022.11.24

0815 ~ 0819 주간회고

How to record Weekly I Learned ? => 4F What is 4F? Fact : 이번주 있었던 일, 내가 한 일 Feeling : 나의 감정적인 반응, 느낌 Finding : 그 상황으로부터 내가 배운 것, 얻은 것 Future : 배운 것을 미래에 어떻게 적용할 것인가 1. Fact - 이력서 지원 시작! - 모의면접! - 스프링 계속 공부공부! 2. Feeling & Finding > 이력서 지원 시작 본격적으로 이력서를 지원하기 시작했다. 아직 한참 부족한 이력서지만 그래도 일단은 시작을 해봤다. 가만히 있는다고 회사에서 먼저 연락이 오진 않을테니 말이다. 이력서란 것은 아무리 봐도 부족한 것 같다. 신입의 이력서는 부족해보이고 비어있는 것이 정상이라지만 왜 이렇게 내 이력서..

주간회고 2022.08.21