Entity는 자바 프로그래밍에서 데이터베이스의 테이블과 매핑되는 객체를 나타냅니다. 자바 퍼시스턴스 API(JPA)에서 주로 사용되며, 객체 지향 프로그래밍 언어인 자바와 관계형 데이터베이스 간의 매핑을 위해 사용됩니다.
Entity 클래스는 데이터베이스의 테이블과 일치하며, 클래스의 각 인스턴스는 테이블의 레코드에 해당합니다. 이러한 클래스의 인스턴스는 JPA를 사용하여 데이터베이스에서 가져오거나 데이터베이스에 저장할 수 있습니다.
주요 특징과 규칙은 다음과 같습니다:
@Entity 어노테이션: 클래스에 @Entity 어노테이션을 추가하여 JPA가 해당 클래스를 엔티티로 인식할 수 있도록 합니다.
Primary Key: 엔티티 클래스는 하나 이상의 필드를 기본 키로 정의합니다. @Id 어노테이션을 사용하여 기본 키 필드를 표시합니다.
매핑: 엔티티 클래스의 각 필드는 데이터베이스의 테이블 열에 매핑됩니다. 이를 위해 @Column 어노테이션 등을 사용하여 필드와 데이터베이스 열 간의 매핑을 지정할 수 있습니다.
관계 매핑: 다른 엔티티와의 관계를 표현하기 위해 @OneToOne, @OneToMany, @ManyToOne, @ManyToMany 등의 어노테이션을 사용합니다.
Getter 및 Setter 메서드: 일반적으로 엔티티 클래스에는 데이터베이스의 값을 가져오고 설정하기 위한 Getter 및 Setter 메서드가 포함됩니다.
간단한 예를 들어보겠습니다. 예를 들어, 사용자를 나타내는 User 엔티티 클래스가 있다고 가정해 봅시다.
import javax.persistence.*;
@Entity
@Table(name = "users")
public class User {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Column(name = "username")
private String username;
@Column(name = "email")
private String email;
// Constructors, Getters, and Setters
// ...
}
위의 코드에서 User 클래스는 @Entity 어노테이션으로 엔티티임을 표시하고, @Table 어노테이션으로 해당 엔티티가 매핑될 데이터베이스의 테이블 이름을 지정합니다. id 필드는 @Id 어노테이션으로 기본 키임을 나타내고, @GeneratedValue 어노테이션으로 자동으로 생성되는 값임을 지정합니다. username과 email은 @Column 어노테이션으로 데이터베이스의 열과 매핑됩니다.
Entity 클래스는 JPA를 통해 데이터베이스와 상호작용하는 데 사용되며, 객체 지향 프로그래밍의 장점을 유지하면서 데이터베이스와의 효율적인 상호작용을 가능하게 합니다.
'TIL(Today I Learned)' 카테고리의 다른 글
| [TIL]Query Methods (0) | 2023.11.16 |
|---|---|
| [TIL]SpringBoot의 JPA (0) | 2023.11.15 |
| [TIL] JPA(Java Persistence API) (0) | 2023.11.13 |
| [TIL] IoC Container와 Bean (0) | 2023.11.10 |
| [TIL] 제어의 역전 (Inversion of Control, IoC)와 의존성 주입 (Dependency Injection, DI) (1) | 2023.11.09 |