[Start Spring Boot] 엔티티 구성하기

·2024년 3월 14일
0

Start Spring Boot!

목록 보기
12/53
post-thumbnail

Entity

Entity란?

  • DB 테이블과 매핑되는 자바 클래스

Entity의 조건

  • 기본생성자가 필수이다.
  • final 속성은 사용할 수 없다.
  • getter가 필요하다.

Lombok

  • Lombok은 setter와 getter를 생성해줘서 코드를 간결하게 해준다.
  • build.gradle
dependencies {
	compileOnly 'org.projectlombok:lombok:1.18.30'
	annotationProcessor 'org.projectlombok:lombok:1.18.30'
}
  • Entity.java
@Getter 
@Setter
  • 다음과 같이 사용이 가능하다.
  • 코드를 간결하게 해준다는 장점이 있지만, 종속성과 IDE의 지원등의 문제로 사용하지 않겠다

Team Entity 구성하기

  • 기존에 구성한 Team은 record로 구성했었다.
  • Entity는 record로 사용할 수 없다.
  • Team.java
package com.chan.ssb;

import jakarta.persistence.*;

@Entity(name = "team")
public class Team {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private long id;
    @Column
    private String name;
    @Column
    private String city;
    @Column
    private int championships;

    public Team() {
    }

    public Team(long id, String name, String city, int championships) {
        this.id = id;
        this.name = name;
        this.city = city;
        this.championships = championships;
    }

    public long getId() {
        return id;
    }
    
    // 이하 생략

}

  • @Entity(name = "team"): Entity를 만든다.
  • @ID: 기본키로 지정한다
  • @GeneratedValue(strategy = GenerationType.IDENTITY): ID를 자동으로 생성함
  • @Column: 테이블의 열로 인식함 / 기본적으로 인식함
  • @Transient: 테이블의 열로 인식하고 싶지 않을 때

h2 콘솔에서 확인하기

profile
백엔드 개발자가 꿈인 컴공과

0개의 댓글

관련 채용 정보