package com.cos.photogramstart.domain.user;
import java.time.LocalDateTime;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.PrePersist;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
// JPA - Java Persistence API (java로 데이터를 영구적으로 저장(DB)할 수 있는 API 제공)
@AllArgsConstructor
@NoArgsConstructor
@Data
@Entity // DB에 table을 생성
public class User {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY) // 번호 증가 전략이 데이터베이스를 따라감
private int id;
private String username;
private String password;
private String name;
private String website;
private String bio; // 자기소개
private String email;
private String phone;
private String gender;
private String profileImageUrl; // 사진
private String role; // 권한
// --------- 위의 값만 넣어주면 아래의 createDate는 자동으로 값이 들어감------
private LocalDateTime createDate;
@PrePersist // DB에 insert 되기 직전에 실행
public void createDate() {
this.createDate = LocalDateTime.now();
}
}
java에서 object를 만들면 object를 기반으로 테이블 생성
application.yml에서 ddl
-> update => data를 insert하고 서버를 재실행 해도 data 유지
-> create => 서버를 재실행 하면 insert한 data 사라짐