진짜 개발자
본문 바로가기

FrameWork/Spring JPA (총 22개)

Spring JPA - JPA를 이용해 Commerce App 만들기 - 5 (컨트롤러 개발 및 뷰 개발) 이번 포스팅에서는, 실질적으로 사용자가 접근 요청을 하는 부분인 Controller와 사용자가 보게될 화면을 구현하도록 하겠습니다. 전체코드 : https://gitlab.com/galid1/jpa-commerce 1. 표현 계층의 역할 우리가 오늘 작성할 표현계층에서는 아래와 같은 일들을 수행합니다. 사용자의 요청값을 검증 사용자의 요청을 Service 계층에서 처리할 수 있는 형태로 변환합니다. Service 계층에 비즈니스 로직을 위임하고 결과값을 Model에 맵핑하여 View에 전달 결과값을 사용자에게 반환합니다. 2. 구현 2.1 ItemController 구현 @Controller @RequiredArgsConstructor public class ItemController { private ..
Spring JPA - Entity 저장시 Embedded Value를 초기화하지 않는 경우의 에러 (not-null property references a null or transient value) jpa Embedded Value Null error Spring JPA에서 Entity 생성시, 특정 컬럼이 null이 될수 없다는 에러에 대해 알아보도록 하겠습니다. JPA를 사용하여 개발하던 도중, Embedded Value 타입의 값을 적지 않는 경우, cannot be null 에러가 발생되는 현상이 나타났습니다. 그동안 개발하는 도중에는 한번도 마주한적이 없었는데, 특이한 경우여서 정리를 해볼까합니다. JPA Column '' cannot be null1. 에러 발생 시나리오Entity를 저장하는 로직을 개발중에 있었습니다. 이때 Entity안의 특정 Embedded Value는 도메인 개념상의 이유로, Entity가 초기화 되는 시점이 아닌, 별도로 생성하여 입력해주어야 하는 상황이었습니다...
Spring JPA - JPA를 이용해 Commerce App 만들기 - 3 (엔티티 개발) Spring JPA - JPA를 이용해 Commerce App 만들기 - 3 (entity 작성) 이번 시간에는 지난 포스팅에서 다룬 설계를 토대로하여, Entity 클래스를 작성해보도록 하겠습니다. 우선 Entity를 개발하기 앞서 패키지 구조를 살펴보도록 하겠습니다. ​x​- common : 어플리케이션에서 전체적으로 사용되는 기능들이 위치함 - config : Spring 설정파일들이 위치함 - value : entity들에서 공통적으로 사용되는 value타입 클래스들이 위치함- domains : 도메인들이 위치함 - user : User 도메인 패키지 - presentation : 사용자의 endpoint로 사용자와 소통하는 UI로직(Controller)들이 위치함 - service : appli..
Spring JPA - JPA를 이용해 Commerce App 만들기 - 2 (설계 : 요구사항 분석, 도메인모델, 엔티티 설계) Spring Boot - JPA를 이용해 Commerce App 만들기 - 2 이 포스팅은 김영한님의 실전! 스프링 부트와 JPA활용 1을 참고하여 작성되었습니다. 이번 포스팅에서는 우리가 만들 Commerce App의 요구사항 분석을 진행하고 이어 설계를 해보도록 하겠습니다. 요구사항 분석우리가 만들어볼 App은 간단한 쇼핑몰입니다. 각 기능별 요구사항을 알아보도록 하겠습니다. 1. 회원회원 등록회원 조회로그인 2. 상품상품 등록상품 수정상품 조회* 상품은 재고관리가 필요합니다.* 상품 종류에는 도서, 음반, 영화가 있습니다.* 상품을 카테고리로 구분할 수 있습니다.* 상품 주문시 배송 정보를 입력합니다. 3. 주문상품 주문상품 주문 취소주문 내역 조회 도메인 모델 다음으로 해야할 일은, 요구사항을 토..
Spring JPA - JPA를 이용해 Commerce App 만들기 - 1 (프로젝트 설정) 1. 프로젝트 설정 안녕하세요, SpringBoot와 JPA를 이용해 Commerce WebApp을 개발해 나아가는 과정을 정리해보도록 할것입니다. 서버부터, 클라이언트 및 배포 그리고 aws를 이용해 인프라를 구축하는것 까지 해나아갈 예정입니다. 프로젝트 설정이번 포스팅에서는 프로젝트를 설정하는 시간을 가져보도록 할것입니다. 필자는 IntelliJ라는 Ide를 사용하고 있습니다. 1. 의존성 추가Intellij에서 프로젝트 생성시 위와 같이 의존성을 선택하여 추가할 수 있습니다. Intellij를 사용하지 않는 분들은 maven repository를 방문하여, 위의 의존성들을 추가해주세요. 이제 하나하나 필요한 의존성에 대해 설명드리겠습니다. Spring Boot DevToolsSpring Boot를 ..