본문 바로가기

1.프로그래밍/Java

[Spring boot] Entity에 대하여

728x90
반응형

Entity Class란?

  • 실제 DB의 테이블과 매칭될 클래스이다.
  • 즉, 가장 DB의 테이블과 가깝다고 할 수 있다.
  • @Entity, @Id, @Column, @GeneratedValue 등의 애노테이션을 사용한다.
  • Entity는 Setter를 설정하지 않아야한다. 외부에서 Setter를 이용한 값의 변경으로 DB에 오류가 생길 수 있다.
  • 그렇기에 Setter는 닫아두고 Getter만 열어두어야 한다.
  • 단, Getter도 최대한 이용하지 않게 외부에서 Entity를 사용하도록 하는것이 제일 좋다.
  • Entity와 DTO는 확실히 다른 것으로 View 계층과 DB 계층의 분리가 확실해야 한다.

전체구조 (Package)


Entity Class 예시


@Getter
@Entity
public class User {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Column(name = "user_id")
    private Long id;

    @Column(name = "username")
    private String username;

    @Column(name = "password")
    private String password;

    @Column(name = "email")
    private String email;

    @Column(name = "zipcode")
    private String zipcode;

    @Column(name = "address")
    private String address;
728x90
반응형