본문 바로가기
728x90
반응형

분류 전체보기170

[JPA] JPA 활용 I - 도메인 분석 설계 쇼핑몰을 주제로하여 간단한 웹 애플리케이션을 개발해보려 한다. 요구사항 분석 기능목록 회원 기능 : 회원 등록, 조회 상품 기능 : 상품 등록, 수정, 조회 주문 기능 : 상품 주문, 주문내역 조회, 주문 취소 기타 요구사항 - 상품은 재고 관리가 필요하다. - 상품의 종류는 도서, 음반, 영화가 있다. - 상품을 카테고리로 구분할 수 있다. - 상품 주문시 배송정보를 입력할 수 있다. 도메인 모델과 테이블 설계 관계도 회원, 주문, 상품의 관계는 회원은 여러 주문을 할 수 있고, 그 주문에는 여러 상품이 담겨있다. 이때 주문과 상품은 다대다 관계이기 때문에 중간 엔티티 주문상품을 추가하여 일대다, 다대일 관계로 풀어낸다. 상품은 도서, 음반, 영화로 구성되며 상속 관계를 가진다. 엔티티 및 테이블 설계.. 2021. 9. 15.
[JPA] JPA 활용 I - 프로젝트 환경설정 프로젝트 생성 Spring Initializr에서 프로젝트 생성 프로젝트 구성 - Gradle Project, Java Language - Spring 2.4.X version, Java 11 version - Group Id : jpabook, Artifact Id : jpashop 의존성 구성 - Spring Web Starter - Thymeleaf - Spring Data JPA - H2 Database - Lombok - Validation JUnit 4 설정 해당 강의는 JUnit4를 기준으로 진행하기 때문에 build.gradle내에 아래 구문을 추가해야 한다. 추가하지 않을 경우 JUnit5로 동작한다. // JUnit4 추가 testImplementation("org.junit.vinta.. 2021. 9. 14.
[JPA] JPA 활용 I - 강좌 소개 강좌명 실전! 스프링 부트와 JPA 활용 1 - 웹 애플리케이션 개발 강의목표 최신 자바 기술(스프링 부트, JPA 등)을 활용해서 실무에서 웹 애플리케이션을 제대로 개발할 수 있도록 하는 것 커리큘럼 1편 : 웹 애플리케이션 개발 (1) 프로젝트 환경설정 (2) 요구사항 분석 (3) 도메인과 테이블 설계 (4) 아키텍쳐 구성 (5) 핵심 비즈니스 로직 개발(회원, 상품, 주문) (6) 테스트 (7) 웹 계층 개발 2편 : API 개발 및 성능 최적화 (1) REST API 개발 (2) 성능 최적화 프로젝트 환경 스프링 부트 JPA Gradle Hibernate Thymeleaf H2 Database 참고 https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A.. 2021. 9. 14.
[JPA] 객체지향 쿼리 문법 - 중급문법(2) 다형성 쿼리 상속 관계에 있는 엔티티 조회 시 다형성을 사용하여 특정 엔티티 타입만 조회할 수 있다. 예제 구조 Type 조회 대상을 특정 자식으로 한정 TYPE(부모 엔티티 별칭) JPQL의 TYPE()이 SQL에서는 DTYPE(= 구분컬럼)으로 변경되어 실행된다. Book book = new Book(); book.setName("new bookname"); book.setAuthor("new author"); em.persist(book); Movie movie = new Movie(); movie.setActor("new actor"); movie.setDirector("new director"); em.persist(movie); // TYPE() String query = "select i f.. 2021. 9. 11.
[JPA] 객체지향 쿼리 언어 - 중급문법 (1) 경로 표현식 .(점)을 찍어 객체 그래프를 탐색하는 것 용어 상태 필드(state field) : 단순히 값을 저장하기 위한 필드 (ex. m.username) 연관 필드(association field) : 연관관계를 위한 필드 단일값 연관 필드 : @ManyToOne, @OneToOne처럼 타겟 대상이 엔티티 (ex. m.team) 컬렉션 값 연관 필드 : @OneToMany, @ManyToMany처럼 타겟 대상이 컬렉션 (ex. m.orders) 특징 상태 필드(state field) : 경로 탐색의 끝으로 더 이상 탐색 불가, JPQL과 SQL이 동일하다. 단일값 연관 경로 : 묵시적 내부 조인(INNER JOIN)이 발생하며 추가적으로 탐색이 가능, 묵시적 조인이 발생하기 때문에 조심해서 사용해.. 2021. 9. 10.