티스토리 뷰

반응형

@Entity

  • 내용: 해당 클래스가 엔티티임을 나타내는 어노테이션입니다.
  • 설명: JPA가 해당 클래스를 데이터베이스 테이블과 매핑합니다.
  • 예제:
    @Entity
    @Table(name = "users")
    public class User {
      //...
    }

 

@Id

  • 내용: 해당 필드가 엔티티의 식별자(primary key)임을 나타내는 어노테이션입니다.
  • 설명: 엔티티의 식별자 필드를 지정할 때 사용합니다.
  • 예제:
    @Id
    private Long id;

 

@Table

  • 내용: 엔티티와 매핑될 테이블의 이름을 지정하는 어노테이션입니다.
  • 설명: 엔티티를 매핑할 테이블의 이름을 지정합니다.
  • 예제:
    @Entity
    @Table(name = "users")
    public class User {
      //...
    }

 

@Column

  • 내용: 엔티티의 필드를 데이터베이스 테이블의 컬럼과 매핑하기 위해 사용하는 어노테이션입니다.
  • 설명: 필드와 컬럼 사이의 매핑 정보를 지정합니다.
  • 예제:
    @Column(name = "first_name", nullable = false, unique = true, length = 50)
    private String firstName;

 

@Enumerated

  • 내용: Enum 타입 필드를 매핑할 때 사용되는 어노테이션입니다.
  • 설명: Enum 값을 어떤 형태로 데이터베이스에 저장할지를 지정합니다. 여기서는 STRING을 예로 들겠습니다.
  • 예제:
    @Enumerated(EnumType.STRING)
    @Column(name = "gender")
    private Gender gender;

 

@Temporal

  • 내용: 날짜와 시간 타입 필드를 매핑할 때 사용되는 어노테이션입니다.
  • 설명: 날짜와 시간 타입의 필드를 어떤 형태로 데이터베이스에 저장할지를 지정합니다. DATE, TIME, TIMESTAMP 중 하나를 선택하여 사용할 수 있습니다.
  • 예제:
    @Temporal(TemporalType.DATE)
    @Column(name = "birth_date")
    private Date birthDate;

 

LocalDate, LocalDateTime

  • 내용: JPA 2.2부터 지원되는 자바 8 이상의 날짜와 시간 타입입니다.
  • 설명: 날짜 또는 날짜와 시간을 저장하는 필드에 사용됩니다.
  • 예제:
    @Column(name = "created_at")
    private LocalDateTime createdAt;
    

 

@Column(name = "birth_date")
private LocalDate birthDate;


**@Lob**

- 내용: 큰 크기의 데이터를 매핑하기 위해 사용되는 어노테이션입니다.
- 설명: 일반적으로 CLOB(Character Large Object)나 BLOB(Binary Large Object) 타입 필드와 매핑됩니다.
- 예제:
```java
@Lob
@Column(name = "description")
private String description;

 

BigDecimal

  • 내용: JPA에서 BigDecimal 타입 필드를 매핑하기 위해서는 @Column(precision = X, scale = Y)와 같이 precisionscale을 지정해야 합니다. precision은 전체 자릿수를, scale은 소수점 이하 자릿수를 나타냅니다.
  • 설명: 큰 정밀도와 소수점을 필요로 하는 금액이나 숫자와 같은 필드에 사용됩니다.
  • 예제:
    @Column(name = "price", precision = 10, scale = 2)
    private BigDecimal price;

 

@Transient

  • 내용: 해당 필드를 데이터베이스에 매핑하지 않고 무시하도록 지정하는 어노테이션입니다.
  • 설명: 엔티티에 속하지만 데이터베이스에 저장할 필요가 없는 임시 필드에 사용됩니다.
  • 예제:
    @Transient
    private String transientField;

 

위의 내용은 JPA에서 사용되는 주요 어노테이션들과 해당 어노테이션의 내용, 설명, 예제를 포함하고 있습니다. 실제 사용 시에는 이러한 어노테이션들을 적절히 활용하여 엔티티 클래스를 구성하시면 됩니다.

 

아래는 간단하게 표로 정리한 내용입니다.

반응형
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/10   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
글 보관함