데이터 전송을 위해 개체 전송용으로 사용되는 개체이다.
DTO는 데이터베이스와 클라이언트 간에 데이터를 전송하기 위해 사용됨.
보안, 보안 및 네트워크 효율을 고려하여 설계된 데이터 구조이다.
일반적으로 DTO는 개체의 데이터만 갖는 간단한 개체로 정의되며, 데이터베이스와의 상호 작용, 비즈니스 로직 등을 포함하지 않는다.
이때 구별해준다는 역할을 한다고 생각하면 편하다.
Entity는 개체, 사물, 대상 등을 나타내며, 데이터베이스에서 관리하려는 개념이나 사물을 나타낸다.
그렇다면 Spring Boot에서는 어떨까?
Spring Boot에서 Entity는 데이터베이스 테이블에 대응하는 Java 클래스로 구현된다.
Spring Boot에서는 JPA(Java Persistence API)라는 기술을 사용하여 Entity를 정의하고, 이를 통해 데이터베이스와 매핑할 수 있다.
예를 들어, 고객(Customer) Entity를 정의하고 싶다면, 다음과 같이 Java 클래스를 정의할 수 있다
@Entity
public class Customer {
@Id
@GeneratedValue
private Long id;
private String firstName;
private String lastName;
// getters and setters
}