[Spring Boot]JPA, ORM, Hibernate,JDBC,Spring Data DAO, DTO, Entity, 계층

맨큐의 경제학9판·2025년 1월 15일
0

JPA란?
Java의 표준 ORM

ORM이란?
Java의 객체와 DB연결하는 프로그래밍 기법
RDBMS(관계형 DB 관리하기 위한 소프트웨어 ex)MySQL, Oracle)안써도 되니까 간편함

JPA는 인터페이스 이므로 실제사용을 위해서는 ORM 프레임워크를 써야함
대표적인것이 하이버네이트

하이버네이트 내부적으로는 JDBC API사용

Spring Data
엔티티 상태관리,트랜잭션 커밋을 클래스 레벨에서 추상화함

Spring Data JPA
Spring Data+ JPA기능

Entity
DB테이블과 매핑되는 객체(객체이지만 DB에 영향을 미치는 쿼리를 실행하는 객체)

JPA의 중요속성1
Entity 매니저
엔티티 관리: DB와 어플리케이션 사이에서 객체생성, 수정, 삭제
엔티티 팩토리에서 만들어짐

JPA중요속성2
영속성 컨텍스트
엔티티 관리하는 가상공간
-1차캐시
-쓰기지연
-변경감지
-지연로딩

계층
1.프레젠테이션 계층
:컨트롤러, 요청과 매핑하여 비즈니스 계층으로 넘김

2.비즈니스 계층
:비즈니스 로직 처리

3.퍼시스턴스 계층
:모든 DB관련 로직처리
이 과정에서 DB에 접근하는 DAO객체를 사용할수 있음

DTO(data transfer object)는 계층끼리 데이터를 교환하기 위해 사용하는 객체입니다.

DAO는 데이터베이스와 연결되고 데이터를 조회하고 수정하는데 사용하는 객체라 데이터 수정과 관련된 로직이 포함되지만

DTO는 단순하게 데이터를 옮기기 위해 사용하는 전달자 역할을 하는 객체이기 때문에 별도의 비즈니스 로직을 포함하지 않습니다.

profile
맨큐의 개발일지

0개의 댓글

관련 채용 정보