Spring Boot : Entity 란?

Hello·2023년 9월 15일

Spring Boot와 같은 Java 기반 프레임워크에서 "엔티티(Entity)"는 주로 데이터베이스의 테이블을 나타내는 클래스를 의미합니다. 이 클래스는 JPA(Java Persistence API)를 사용하여 데이터베이스에 저장되고 관리됩니다.

엔티티 클래스는 다음과 같은 특징을 가지고 있습니다:

  1. @Entity 어노테이션: JPA가 해당 클래스를 엔티티로 인식하게 하기 위해, 클래스 선언 위에 @Entity 어노테이션이 붙어야 합니다.

  2. 기본 생성자: JPA 스펙에 따라 엔티티 클래스는 반드시 기본 생성자(no-arg constructor)를 가져야 합니다.

  3. 식별자 필드: 각 엔티티 인스턴스를 유일하게 식별할 수 있는 식별자 필드가 필요합니다. 이 필드는 @Id 어노테이션으로 마크되며, 일반적으로 숫자 ID 또는 UUID 등을 사용합니다.

예를 들어, '사용자'라는 개념을 나타내는 User라는 이름의 엔티티가 있다면 이것은 '사용자' 테이블과 매핑되며, 각각의 User 인스턴스(객체)는 테이블의 한 로우(row)에 해당합니다.

간단한 예제 코드로 설명하면 다음과 같습니다:

@Entity
public class User {
    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    private Long id;

    private String name;
    private String email;

    // 기본 생성자
    public User() {}

    // getter와 setter 메소드들...
}

위 코드에서 User 클래스가 @Entity 어노테이션으로 마크되어 있으므로 JPA에서 이것을 데이터베이스 테이블로 관리하는 엔터니로 인식합니다. id, name, email 속성들은 각각 '사용자' 테이블의 컬럼(column)에 해당하는데, 여기서 id 속성은 고유한 식별값인 PK(Primary Key)입니다.

출처 : 뤼튼, OpenAI의 GPT-4 기반 AI 모델에게서 얻은 정보

profile
반갑습니다

0개의 댓글