SPRING
Spring Data JPA - todolist 실습(1-1) Entity
작은달팽이
2023. 1. 4. 21:50
2023.01.04 - [SPRING] - Spring Data JPA - 개념 / 기본설정
Spring Data JPA - 개념 / 기본설정
JPA(Java Persistence API) : 자바로 영속 영역을 처리하는 API, 객체지향으로 구성한 시스템을 관계형 데이터베이스에 매핑 JPA는 스프링과 연동할 때 Spring Data JPA라는 라이브러리를 사용한다. Spring Data J
smallsnail.tistory.com
Todolist
더보기
닫기
- GET - /todos → 할일 목록 불러오기
- POST- /todos → 할일 등록
- DELETE - /todos/{id} → 할일 삭제
create table todo(
id INT NOT NULL AUTO_INCREMENT,
todos VARCHAR(50) NULL,
indate DATETIME NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY(id)
);
Entity
1. Entity class 정의하기 : entity 패키지를 구성하고 클래스를 만든다.
- 반드시 @Entity가 존재해야 JPA가 인식할 수 있다. 테이블의 PK와 해당필드를 매핑하는 @Id가 필요.
- 애너테이션을 추가한다.
- @Entity : JPA가 사용하는 객체, entity를 정의
- @Table(name = "테이블이름") : entity객체와 연결될 DB 테이블이름
- @AllArgsConstructor : 모든 생성자 자동생성
- @NoArgsConstructor : 기본 생성자 자동생성
- @Column : 객체 필드를 테이블의 column과 매핑
- @GeneratedValue : PK키 생성 전략
- IDENTITY : 데이터베이스에서 PK값을 생성(MYSQL/MariaDB) - auto_increment
- @Builder : 빌더 생성(생성자와 달리 필요한 만큼만 데이터를 세팅할 수 있다)
package com.jpa.todolist.entity;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Getter;
import lombok.NoArgsConstructor;
import org.springframework.data.annotation.Id;
import javax.persistence.*;
@Entity
@Table(name = "todo")
@AllArgsConstructor
@NoArgsConstructor
@Builder
@Getter
public class Todo {
@Id
@Column(name = "id")
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long Id;
@Column(name = "todos")
private String todos;
@Column(name = "indate")
private String indate;
}