Entity
- JPA에서는 테이블을 자동으로 생성해주는 기능 제공
DB Table == JPA Entity
JPA의 주요 Annotation과 용도 설명
Annotation | 용도 |
@Entity | 해당 class가 entity임을 명시 |
@Table | 실제 DB테이블의 이름을 명시 |
@Id | Index primary key를 명시 |
@Column | 실제 DB Column의 이름을 명시 |
@GeneratedValue | Primary key 식별키의 전략 설정 |
package com.example.study.model.entity;
//클래스의 이름과 디비 컬럼의 이름이 동일하게 만든다.
//User(카멜)=user
import lombok.AllArgsConstructor;
import lombok.Data;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import java.time.LocalDateTime;
@Data
@AllArgsConstructor
@Entity //==db table
//클래스와 디비컬럼명이 동일하지 않은 경우 table을 써서 name을 지정해서 사용한다.
//@Table(name="user")
public class User {
//식별자
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
//프로퍼티와 디비컬럼명이 동일하지 않은 경우 table을 써서 name을 지정해서 사용한다.
//@Column(name="account")
private String account;
private String email;
//디비에는 phone_number이지만 스네이크 방식으로 인해 자동으로 jpa에서 인식해준다.
private String phoneNumber;
private LocalDateTime createdAt;
private String createdBy;
private LocalDateTime updatedAt;
private String updatedBy;
}
반응형
'Spring' 카테고리의 다른 글
springboot Test 코드작성방법 (0) | 2019.11.07 |
---|---|
Repository (0) | 2019.11.06 |
Naming Convention(네이밍컨벤션) (0) | 2019.11.04 |
Spring boot jdbc 설정 (0) | 2019.11.03 |
JPA(Java PErsistent API) (0) | 2019.11.02 |