-
DAO & DTO & Entity 비교 (POJO, BO 간단한 설명)Spring Framework 2023. 8. 11. 19:14
- DAO
- 실제로 DB에 접근하는 객체이다.
- sevice class와 DB를 연결한다.
- DTO
- 하위 시스템 간의 호출 숫자를 줄여 서비스의 시스템 비용(overhead)을 감소시키기 위해 사용
- POJO 형식으로 구현
- 데이터 교환을 위한 Java Bean
- 로직을 가지고 있지 않은 순수한 데이터 객체로, Getter/Setter 메소드만 가진다.
- toEntity 메소드를 통해 Entity로 만든다.
- Entity
- 실제 DB의 테이블과 매칭될 클래스
- @Entity, @Column, @Id 등을 이용한다.
- 해당 클래스 안에서 필요한 로직 메소드를 구현할 수 있다.
참고)
- VO와 DTO 비교
- VO는 DTO와 다르게 Read Only 속성을 가진다.
- VO는 특정한 비즈니스 값을 담는 객체
- DTO는 Layer간의 통신 용도로 오고가는 객체
- Entity와 DTO를 분리하는 이유
- View와 DB의 계층을 분리 목적이 있다.
- DTO 클래스(Request / Response 클래스)는 자주 변경되므로 분리해야한다.
- 테이블과 매핑되는 Entity 클래스가 변경되면 여러 클래스에 영향을 끼치게 된다.
- POJO
- Plain Old Java Object (= 그냥 평범한 자바 객체)라는 뜻이다.
- 스프링에서 생성되고 관리되는 POJO기반의 객체를 Spring Bean이라고 한다.
- Spring Bean이 되기 위한 조건
- private 제한자를 가진 변수
- getter, setter함수를 통해 접근이 가능
- 기본 생성자가 존재해야한다.
- BO
- Business Object라는 의미
- 여러 DAO를 활용해 비지니스 로직을 처리하는 객체
- 예 : Service
참고)
https://itkjspo56.tistory.com/287
[Java] DTO, DAO, Entity 그리고 Repository 란?
DAO(Data Access Object)란? repository package 실제로 DB에 접근하는 객체. Persistence Layer(DB에 data를 CRUD하는 계층) 이다. Service와 DB를 연결하는 고리의 역할을 한다. SQL을 사용하여 DB에 접근한 후 적절한 CRUD
itkjspo56.tistory.com
'Spring Framework' 카테고리의 다른 글
spring 의존성 주입(DI) (0) 2023.08.11 spring 제어의 역전 (Ioc) (0) 2023.08.11 json 파라미터 xss필터 처리 (request, response) (0) 2023.08.11 Spring에서 CORS ERROR 설정 (0) 2023.08.11 스프링 request 관련 메소드 (0) 2022.10.16 - DAO