응애개발자
article thumbnail
웹 애플리케이션 제작(애플리케이션 구현)
Spring/JPA 2023. 7. 17. 20:10

회원기능 - 회원 등록 - 회원 조회 상품 기능 - 상품 등록 - 상품 수정 - 상품 조회 주문 기능 - 상품 주문 - 주문 내역 조회 - 주문 취소 이 순서대로 개발하겠습니다. 다음 기능은 구현하지 않겠습니다. 로그인과 권한 관리는 하지 않는다. 파라미터 검증과 예외 처리는 하지 않는다. 상품은 도서만 사용한다. 카테고리는 사용하지 않는다. 배송 정보는 사용하지 않는다. 1. 개발 방법 Controller : MVC 컨트롤러가 모여 있는 곳이다. 컨트롤러는 서비스 계층을 호출하고 결과를 뷰(JSP)에 전달한다. Service : 서비스 계층에는 비즈니스 로직이 있고 트랜잭션을 시작한다. 서비스 계층은 데이터 접근 계층인 리포지토리를 호출한다. Repository : JPA를 직접 사용하는 곳은 리포지토..

article thumbnail
웹 애플리케이션 제작(도메인 모델과 테이블 설계)
Spring/JPA 2023. 7. 17. 13:04

1. 요구사항 분석 회원기능 - 회원 등록 - 회원 조회 상품 기능 - 상품 등록 - 상품 수정 - 상품 조회 주문 기능 - 상품 주문 - 주문 내역 조회 - 주문 취소 기타 요구사항 - 상품의 종류는 도서, 음반, 영화가 있다. - 상품을 카테고리로 구분할 수 있다. - 상품 주문 시 배송 정보를 입력할 수 있다. 2. 도메인 모델 설계 다대다 테이블은 관계형 DB, 엔티티에서도 거의 사용하지 않는다 따라서 일대다 , 다대일 관계로 풀어냈다. 상품 분류 : 상품은 도서, 음반, 영화로 구분되는데 상품이라는 공통 속성을 사용하므로 상속 구조로 표현했다. 3, 테이블 설계 MEMBER : 회원 엔티티의 Address 임베디드 타입 정보가 회원 테이블에 그대로 들어갔따. 이것은 DELIVERY 테이블도 마찬..

article thumbnail
웹 애플리케이션 제작(프로젝트 환경설정)
Spring/JPA 2023. 7. 17. 11:03

웹 애플리케이션 만들기 진행 순서 프로젝트 환경설정 도메인 모델과 테이블 설계 애플리케이션 기능 구현 프로젝트 환경설정 프로젝트 구조 메이븐과 사용 라이브러리 관리 - pom.xml 분석 라이브러리 간에 충돌을 피하려면 groupId + artifactId는 유일해야 한다. 에는 사용할 라이브러리를 지정한다. groupId + artifactId + version만 적어주면 메이븐 저장소에서 자동으로 내려받아 라이브러리에 추가해준다. 핵심 라이브러리는 다음 3가지 이다. 스프링MVC : 스프링 MVC 라이브러리 스프링ORM : 스프링 프레임워크와 JPA를 연동하기 위한 라이브러리 JPA, 하이버네이트 : JPA 표준과 하이버네이트를 포함하는 라이브러리 기타 라이브러리 H2 DB 커넥션 풀 : tomcat..

article thumbnail
객체지향 쿼리 언어(4) 네이티브 SQL
Spring/JPA 2023. 7. 17. 09:42

5. 네이티브 SQL JPQL은 표준 SQL이 지원한ㄴ 대부분의 문법과 SQL 함수들을 지원하지만 특정 DB에 종속적인 기능은 지원하지 않는다. 예를들어 특정 DB만 지원하는 함수, 문법, SQL 쿼리 힌트 인라인 뷰(From 절에서 사용하는 서브쿼리), UNION, INTERSECT 스토어드 프로시저 특정 DB에 종속적인 기능을 지원하는 방법은 다음과 같다. 특정 DB만 사용하는 함수 - JPQL에서 네이티브 SQL 함수 호출 가능 - 하이버네이트는 DB 방언에 각 DB에 종속적인 함수를 정의, 호출할 함수를 정의할 수 있다. 특정 DB만 지원하는 SQL 쿼리 힌트 - 하이버네이트를 포함한 몇몇 JPA 구현체들이 지원한다. 인라인뷰, UNION, INTERSECT - 하이버네이트는 지원하지 않지만 일부..