프로젝트 생성 특별한거 없이 start.spring.io 를 가서 해당 자바 버전과 함께 최신 버전을 다운로드 받아서 build.gradle 을 인텔리제이에 실행시켰다. 주의할 점은 Java의 현재 버전이 몇인지 build.gradle 에서 확인 해주고 처음 생성했던
꽤 많은 SQL 지식이 요구 됐었던거 같고 기본편을 안들었던 체로 도메인 모델과 테이블 설계를 이해할려고 하니 힘든 시간을 가졌었다. 이 테이블에서는 회원과, 주문, 등등에 테이블에 많은 관계를 주입 시켜줬는데 정리하자면 아래와 같다. 연관관계 매핑을 분석할때 강의에서
애플리케이션 아키텍처애플리케이션 아키텍처는 위와 같다. JPA 를 직접 사용하는 계층인 repository가 따로 있고, 비즈니스 로직, 트랜잭션을 처리하는 service 층 그리고 controller 로 나뉘어져 있는게 신기했다. 이런 식으로 Package 를 나뉘어
이번 강의에서는 상품과 주문 도메인 개발에 목적을 두고 코드를 작성했다. 회원 도메인을 작성하는 단계에서부터 꽤 단순했고 특히 리포지토리를 만드는 과정은 정말 비슷했기때문에 같은 작업에 @Getter @Setter, @RequiredArgsConstructor 등등에
오랜만에 올리는 백엔드 관련 글이다, 드디어 웹 계층으로 넘어가기 시작했고 이번편에서는 화면에서 보여지는 view 에 초점을 두었기 때문에 bootstrap 또한 사용하였고 타임리프를 활용한 html 파일 제작에도 경험치를 쌓았다. 솔직히 타임리프 관련해서 사용하
API 에 대한 공부를 처음 해봤다. 웹개발에 관한 공부와 기본적인 구현에 대한 이해를 JPA 강의와 함께 배웠지만 API 사용에 대한 공부는 많이 못했기에 기본적인 API 가 무엇인지, REST API 가 어떤 뜻인지에 대한 것부터 차근차근 배웠다. 이 강의는 API
스프링과 더불어 JPA 강의를 사용하는 실전 프로젝트를 끝냈다. 야생형 커리큘럼이라 해서 실전을 먼저하고 기본편으로 내가 이해하지 못했던 부분들을 하나씩 채워나갔다. 원래는 나만의 글 정리를 강의를 보면서 적고 그랬는데 이번 강의는 미리 한번 정독을 하고 두번씩 다시
이미 몇번씩 들었던 영속성 관리 강의를 정리하려고 한다. JPA 를 사용하면서 가장 인상 깊게 들었고 꽤 정리 할 부분이 많아 보였기에 기록을 남긴다. 영속성 컨텍스트 영속성 컨틱스트란? "엔티티를 영구 저장하는 환경" 을 뜻한다 논리적인 개념이고 엔티티 매니저를 통해
오늘은 JPA 를 사용하는데 있어서 가장 기본이 되는 엔티티 매핑에 관련해서 글을 작성한다. 처음 실습 위주의 프로젝트를 따라했을때 굉장히 이해가 안갔던 부분들이 여기서 설명이 되었다. 지금 보니 꽤 기본적인것들이기 때문에 빠르게 익히고 다음 단계로 넘어가고 싶다.
기초: 단방향 매핑 테이블과 객체가 어떻게 서로 협력 관계를 맺는지에 대한 생각이 필요하다. 테이블은 외래 키 (FK) 로 다른 테이블에 기본키 (PK) 를 참고하여 테이블을 조인하고 연관된 테이블을 찾는다. 객체는 참조(Reference) 를 사용해서 연관된
프록시 JPA 를 사용하면서 프록시는 굉장히 중요한 역활을 하고 있다. 객체적으로 생각한다면은 멤버와 팀이 있을때 서로가 참조 값을 가지고 있는것은 특별하게 느껴지지 않지만 데이터베이스 테이블 관점으로 볼때는 얘기가 다르다. 멤버가 팀의 참조값을 가지고 있다면 호
비교적 가벼운 내용의 주제였다. 그렇지만 자바라는 언어에 대한 기본기가 탄탄했다면은 이해하기 훨씬 쉬웠을 주제라고 생각하고 내심 스스로 가지고 있었던 궁금증을 해소 해주었다. 위와 같은 멤버 엔티티를 생성한다고 가정해보겠다. id 와 name 은 필수적으로 가지고 있어
JPQL 소개 기존에 EntityManager을 활용해서 .find() 메서드같이 엔티티를 찾아오는 방식은 JPA 에서 제공 해주고 있다. 그런데 좀 더 디테일한 엔티티를 찾고 싶을때는 (예: 나이가 18살 이상인 회원 검색) 단순한 .find() 보다 더 정밀화
사실 이 강의는 끝낸지 오래된 강의다. JPQL과 과련된 지식을 얻기위해 프로그래머스에서 SQL 문제들을 풀고 JOIN, SELECT, 서브쿼리 등등에 기본 지식을 가지고 강의를 재차 들었다. 강의 초반에는 사실 프로젝트를 진행하면서 어느정도 얻을 수 있는 지식들이