본문 바로가기

개발공부/Java(JPA)

Entity

  • JPA에서는 테이블을 자동으로 생성해주는 기능이 존재한다.
  • DB Table == JPA Entity

@Entity : 해당 클래스가 Entity임을 명시

@Table : 실제 DB 테이블의 이름

@Id : Index primary key를 명시

@Column : DB Column의 이름

@GeneratedValue : primary key의 전략 설정

@NoArgsConstructor // 매개변수가 없는 기본 생성자
@AllArgsConstructor // 모든 매개변수를 가지는 생성자
@Data // 객체로 사용할 것이기 때문에
@Entity
// @Table(name = "user") user 테이블과 연결할 것임을 명시, class명과 table명 같으면 생략 가능
public class User {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY) //mysql을 사용하기 때문에 IDENTITY
    private Long id;

    // @Column(name = "account") 컬럼명 일치하므로 생략 가능
    private String account;

    private String email;

    private String phoneNumber;   //db에서는 phone_number, JPA에서 자동으로 매칭시켜줌

    private LocalDateTime createdAt;

    private String createdBy;

    private LocalDateTime updatedAt;

    private String updatedBy;
}

!https://s3-us-west-2.amazonaws.com/secure.notion-static.com/11a48cab-d27e-47c9-8871-94b16d46f294/Untitled.png

@NoArgsConstructor 를 사용하지 않으면 에러 발생!

'개발공부 > Java(JPA)' 카테고리의 다른 글

[Java] String VS StringBuilder 차이점  (0) 2025.02.17
JPA 란?  (1) 2025.02.13
Repository  (0) 2025.02.13
JPA 연관 관계 설정  (0) 2023.06.18
JPA 자동 설정 기능  (0) 2023.06.18