JPA 3

[Project] 일정 관리 앱 Develop 하기 (with JPA)

일정 관리 앱(Scheduler App) Develop 하기JPA를 활용하여 CRUD 기능이 구현된 일정 관리 앱 만들기 일정 관리 앱 요구 사항더보기일정에 포함되어야 할 테이터작성 유저명(username)할 일 제목(title)할 일 내용(contents)작성일(createdAt )수정일(modifiedAt)유저에 포함되어야 할 데이터작성 유저명(name)이메일(email)작성일(createdAt)수정일(modifiedAt)(LV3 이후) 비밀번호(password)요구사항일정 유저 연관 관계 구현 (유저 고유 식별자 필드를 가진다)작성일 & 수정일은 JPA Auditing을 활용한다.통신 데이터 형태 (request / response)는 JSON 형태 이다.API 명세서더보기HTTP API 설계대부..

Sparta/Projects 2025.05.26

[Spring] 연관 관계 매핑

지난 프로젝트를 JDBC로 구현할 때 가장 힘들어했던 부분이 Entity끼리 관계를 맺는 부분이었던 것 같다. schedules 테이블(기존)에서 작성자명을 분리해서 별도의 작성자 테이블(authors)로 관리를 하고, 이 두 테이블을 이어주기 위해서 schedules 테이블에 author_id를 추가하면서 외래 키로 설정, 그리고 authors 테이블에 id 컬럼을 생성 후 Primary Key로 설정하여 이 두 테이블을 연결하는 매개체로 하였다. 물론 말로는 쉽고 SQL만 생각해봤을 때는 단순 JOIN 영역이기 때문에 어렵지는 않았지만 여기에 Java, JDBC로 구현하려니까 여간 복잡하고 헷갈려서 힘들었던 것 같다. 이런 식으로 JDBC에서 연관 관계 표현을 코드로 구현할 수 있다. 다만, JDBC..

Dev/Spring 2025.05.19

[Spring] JPA

지난 JDBC를 이용하여 프로젝트를 진행하면서 기존 Spring Boot에 직접 DB를 연결하고 테이블도 생성하며, JDBC를 활용하여 SQL 쿼리로 DB를 다루는등 개발자가 직접 많은 것을 해야되었다.또한 이 과정에서 반복되는 코드가 너무 많기도 하고 객체 지향 설계에서도 멀어져갔다. 그래서 도입된 기술이 바로 JPA (Java Persisterce API) 이다.JPA (Java Persisterce API)Java 어플리케이션에서 객체 지향 프로그래밍 모델을 사용하여 DB와 상호작용할 수 있도록 해주는 기술이다. 객체 지향 프로그래밍에서 객체를 DB 테이블로 매핑해주는 역할객체와 DB 간의 데이터를 자동으로 변환해주는 도구대충 Java 어플리케이션에서 데이터 베이스(DB)와 상호작용 가능하도록 도와..

Dev/Spring 2025.05.15