Hello

20. User 테이블 생성

by 볼빵빵오춘기

src > main > com.cos.blog 밑에 model 패키지 생성

src > main > com.cos.blog > model 밑에 User, Board, Reply 클래스 생성

 

User 클래스

package com.cos.blog.model;

import lombok.*;
import org.hibernate.annotations.CreationTimestamp;

import javax.persistence.*;
import java.sql.Timestamp;

// ORM => Java(다른 언어) Object -> JPA 가 table로 매핑해주는 기술
@Entity
// @DynamicInsert // insert시 값이 null값을 제외 시켜준다.
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder // 빌더패턴
@Table(name = "META_USER") 
public class User {

    @Id //Primary Key
    @GeneratedValue(strategy = GenerationType.IDENTITY) // 프로젝트에서 연결된 DB의 넘버링 전략을 따라간다.
    private int id; // 시퀀스, auto_increment

    @Column(nullable = false, length = 30, unique = true)
    private String username; // 아이디

    @Column(nullable = false, length = 100)
    private String password;

    @Column(nullable = false, length = 50)
    private String email;

		@ColumnDefault("'user'") // ""큰 따옴표안에 ' 작은 따옴표를 같이 작성해줘서 문자라는 것을 알려줘야한다.
		private String role; // 나중에는 Enum을 쓰는게 좋다. -> Enum을 쓰므로써 도메인을 만들 수 있음. 
		// 권한을 admin, user, manger 만 넣고 싶은데 만약 String으로 해놨을 경우 오타가나서 adminn이런식으로 들어갈 수 있기 때문

    @CreationTimestamp // 시간이 자동으로 입력
    private Timestamp createDate;

}

 

application.properties

spring.jpa.hibernate.ddl-auto을 create로 해준다. 

그러면 프로젝트가 실행되면 table이 만들어지는 것을 확인가능하다. 

spring.jpa.hibernate.ddl-auto=create

 

'강의 따라하기 > blog' 카테고리의 다른 글

23. Reply 테이블 생성  (1) 2024.01.01
22. Board 테이블 생성  (1) 2024.01.01
19 yaml 설정하기  (1) 2024.01.01
18 lombok 세팅 및 사용해보기  (0) 2024.01.01
17 maven이란  (0) 2024.01.01

블로그의 정보

Hello 춘기's world

볼빵빵오춘기

활동하기