2023. 12. 31. 12:05ㆍSpringBoot+JPA
JPA (Java Persistence API)
자바 애플리케이션에서
관계형 데이터베이스의 데이터를 영속적으로 저장하고 검색할 수 있도록 도와주는
자바 표준 ORM(Object-Relational Mapping) 기술
데이터베이스와 객체 지향 프로그래밍 언어 간의 불일치를 해결
JPA 특징
java에서 직접 질의어를 구성해서 동작 (servlet에서)
Mybatis 라이브러리를 이용해서 동작(처음부터 사용자가 질의어를 작성)
JPA 라이브러리는 필드명과 예약된 형식으로 구성하면 자동으로 질의어 작성
DSLQuery라이브러리는 JPA에 만들기 힘든 질의어를 작성
값이 전달되는 과정
View ← DTO → Controller ← DTO → Service ← Entity → Repository ← Entity
Service ---> Repository (DTO에서 Entity로 변환)
Repository ---> Service (Entity에서 DTO로 변환)
(Repository는 DTO가 아닌! 반드시 Entity로 변환이 필요!)
작성요령
application.java(시작파일)에서 날짜 등록처리를 위한 어노테이션 선언
@EnableJpaAuditing
1. DTO 설계
2. Entity 설계 (실행 -> 데이터베이스에 테이블을 생성 확인)
1) 사용할 테이블과 필드를 연동
3. Repository 설계 (Test에서 CRUD 및 사용자가 생성한 메소드를 test)
1) 테이블을 이용할 메소드를 작성
2) 기본 메소드와 추가할 메소드가 있으면 규칙에 맞춰서 메소드 이름을 생성(내용x)
4. Service 설계 (Test에서 사용자가 작성한 메소드를 테스트)
1) 사용자가 임의로 메소드를 생성(규칙없음)
2) Controller에서 전달받은 값을 Entity 변환해서 Repository에 전달
3) Repository에서 전달받은 값을 DTO 변환해서 Controller에 전달
4) 각 전달은 메소드(받는 작업)나 return(보내는 작업)으로 작업
'SpringBoot+JPA' 카테고리의 다른 글
[Java+SpringBoot+JPA]Restful API 정의 및 종류 / REST 및 API 정의 (0) | 2024.01.05 |
---|---|
[SpringBoot] Repository 검색 조건 종류 및 작성방법 (0) | 2023.12.31 |
[SpringBoot] Model 인터페이스 / 데이터전달 / 사용방법 (1) | 2023.12.31 |
[SpringBoot 구조] Controller 설명 및 정의 / 어노테이션 (0) | 2023.12.31 |
[SpringBoot 구조] Service 설명 및 정의 / 어노테이션 (0) | 2023.12.31 |