-
Spring Entity, DTO, VOSpring 2023. 3. 16. 01:06
Spring Framework에서 Entity, DTO, VO는 데이터를 표현하고 전달하는 데 사용되는 클래스입니다. 이들은 각각 다른 목적을 가지며 일반적으로 Spring 애플리케이션에서 사용됩니다.
Entity
Entity는 데이터베이스 테이블과 일치하는 클래스입니다. 보통 JPA(Java Persistence API)를 사용하여 데이터베이스와 상호작용하며, 데이터베이스의 각 열에 해당하는 클래스 속성을 가지고 있습니다. Entity는 데이터베이스 테이블과 일치하기 때문에 테이블의 각 레코드를 표현합니다.
DTO
DTO는 Data Transfer Object의 약어입니다. DTO는 애플리케이션 내에서 데이터를 전송하는 데 사용되며, 일반적으로 Entity 클래스의 데이터를 전송하기 위해 사용됩니다. DTO는 Entity 클래스의 데이터를 포함할 수 있지만, 추가적인 데이터 전송을 위해 다른 속성도 추가할 수 있습니다. DTO는 보통 여러 서비스 간에 데이터 전송을 위해 사용됩니다.
VO
VO는 Value Object의 약어입니다. VO는 Entity와 DTO와 비슷하지만, 상태를 변경할 수 없는 불변 객체입니다. VO는 Entity 클래스의 데이터를 전송하기 위해 사용되거나, Entity와 DTO 간의 매핑을 위해 사용될 수 있습니다. VO는 데이터를 표현하고 전달하는 데 사용되며, 애플리케이션 내에서 읽기 전용 데이터를 처리하는 데 효과적입니다.
요약하면, Entity는 데이터베이스 테이블을 나타내는 클래스, DTO는 데이터 전송을 위한 클래스, VO는 불변 데이터를 표현하는 클래스입니다. 이들은 각각 다른 목적을 가지고 있으며, 애플리케이션의 다양한 구성 요소 간에 데이터를 전송하거나, 저장하거나, 처리하는 데 사용됩니다.
'Spring' 카테고리의 다른 글
Spring Interceptor, Filter, AOP 와 각 차이점 (0) 2023.03.16 [Webflux] Reactor Hot And Cold Publisher (0) 2023.02.22 Spring IoC와 DI에 관하여 (0) 2023.02.20 Spring Boot 구글 OAuth2 로그인 구현 방법(spring-securify-oauth2) (0) 2023.02.16 Spring에서 Service class를 만들때 반드시 Interface를 구현해야할까 (0) 2020.02.28