Spring Boot - Entity

개발자·2022년 8월 13일
0

Spring boot 개념정리

목록 보기
2/5
post-thumbnail

📝 Entity

✔️ Entity의 의미

  • 실제 데이터베이스에 매칭되는 경량의 영속성 도메인 오브젝트
  • 즉 하나의 Table

✔️ Entity Annotation

Entity에서 사용하는 대략적인 어노테이션에 대해 설명하겠다.

  • @Entity : 이 클래스가 Entity 임을 알려주며 어노테이션 작성시 JPA에서 정의된 필드를 바탕으로 데이터베이스 테이블을 생성한다.

  • @Data : lombok 에서 가져온 기능으로 Getter,Setter,ToString,Constructor에 대한 정보를 자동으로 생성해준다.

    lombok -> Getter,Setter와 같은 기계적인 코드들을 Annotation 기반으로 코드를 자동화하여 작성해주는 Java Library

  • @Builder : 이 클래스에 대한 객체를 생성할때 빌더 패턴을 이용하여 만들 수 있도록 지정해주는것이다.

  • @AllArgsConstructor : 선언된 모든 필드를 Parameter로 갖는 생성자를 생성한다.

  • @NoArgsConstructor : Parameter가 없는 기본 생성자를 생성한다.

  • @Id : 해당 Table의 PK 필드

  • @GeneratedValue : 이러한 PK 필드의 Id 가 어떤식으로 증가할지를 결정

  • @Column : 테이블의 컬럼임을 표시, 필수는 아니며 변경이 필요한경우에만

  • @ManyToOne,@OneToMany : 관계 매핑을 위한 어노테이션

✔️ Entity 예시

User.java

@Builder
@AllArgsConstructor
@NoArgsConstructor
@Entity
@Data
public class User {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private long id; // User id

    @Column(nullable = false, unique = true)
    private String username;

    @Column(nullable = false)
    private String password;
}

0개의 댓글