반응형
    
    
    
  - Spring Data Jpa를 사용하면 DB에 테이블을 생성하기 위해 직접 쿼리 작성 필요 X
 - JPA에서 엔티티는 DB의 테이블에 대응하는 클래스
 
import java.time.LocalDateTime;
import jakarta.persistence.*;
import lombok.*;
@Entity
@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode
@ToString(exclude = "name")
@Table(name = "product")
public class Product {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long number;
    @Column(nullable = false)
    private String name;
    @Column(nullable = false)
    private Integer price;
    @Column(nullable = false)
    private Integer stock;
    private LocalDateTime createdAt;
    private LocalDateTime updatedAt;
}
엔티티 관련 기본 애너테이션
@Entity
- 클래스가 엔티티임을 명시
 
@Table
- 엔티티 클래스와 테이블의 이름을 다르게 지정해야할 경우
 
@Id
- 테이블의 기본값 역할
 
@GeneratedValue
- 기본적으로 @Id와 함께 사용
 
값 생성 방식
- GeneratedValue를 사용하지 않는 방식 → 애플리케이션에서 자체적으로 고유한 기본값을 생성할 경우
 - Auto → 기본값을 사용하는 DB에 맞게 자동 생성
 - IDENETITY → 기본값 생성을 DB에 위임하는 방식
 - SEQUENCE → 식별자 생성기를 설정하고 이를 통해 값 자동 주입
 
@Column
- 엔티티 클래스의 필드는 자동으로 테이블 칼럼으로 매핑
 
@Transient
- 엔티티 클래스에는 선언돼 있는 필드지만 DB에서는 필요 없을 경우
 
반응형
    
    
    
  'Spring Boot > 데이터베이스 연동' 카테고리의 다른 글
| [Spring boot] DAO 연동을 위한 컨트롤러와 서비스 설계 (1) | 2025.08.17 | 
|---|---|
| [Spring boot] DAO 설계 (1) | 2025.08.17 | 
| [Spring boot] DB 연동 - 실습 (0) | 2025.08.17 | 
| [Spring boot] 영속성 컨텍스트 (3) | 2025.08.17 | 
| [Spring boot] JPA (1) | 2025.08.17 |