1️⃣User 엔티티 만들기
⏺️웹에서 사용될 요청을 담을 사용자 엔티티를 만든다.
⏺️이 엔티티는 자바프로그램에서 사용될 객체로 사용자 요청이 클래스로 자동 매핑이 된다.
package shop.mtcoding.blog.user;
import jakarta.persistence.*;
import lombok.Data;
import java.time.LocalDateTime;
/*
* @Tabled은 현재 객체가 어떤 테이블이랑 연결될 것인지 구체적 정의,
* user로 테이블 명을 만들면, 키워드이기 때문에 안만들어 질수 있다.
* _tb 컨벤션을 지키도록 하자.
*/
@Table(name = "user_tb")
@Data //getter,setter,toString 생성
@Entity // 현재 클래스가 Entity임을 선언
public class User {
@Id // 해당 필드를 PK로 만들어주는 어노테이션
@GeneratedValue(strategy = GenerationType.IDENTITY) // auto_increment기능을 만들어주는 어노테이션
private int id;
private String username;
private String password;
private String email;
//여기서 카멜표기법을 지키면 자동으로 JPA가 created_at과 매핑시킨다.
private LocalDateTime createdAt;
}
invalid source release: 21
에러 해결하기펼쳐보기
아래와 같은 에러가 나온다면 다음과 같이 해결해보자.

⏺️ 왼쪽 최상단 햄버거 클릭
⏺️ File 메뉴 → Project Structure 선택
⏺️ 아래 창이 뜨면 SDK 설정에서
21 java version
선택후 적용
유저 엔티티를 만들고 한번 실행해보았지만, 테이블이 생성되었다는 쿼리가 보이지 않는다.

2️⃣ yml설정하기
application.yml 설정을 dev로 바꾼다.
spring: profiles: active: - dev
application-dev.yml 클릭하여 아래와 같이 세팅한다.
server:
servlet:
encoding:
charset: utf-8
force: true
session:
timeout: 30m
port: 8080
spring:
mustache:
servlet:
expose-session-attributes: true
expose-request-attributes: true
datasource:
driver-class-name: org.h2.Driver
url: jdbc:h2:mem:test;MODE=MySQL
username: sa
password:
h2:
console:
enabled: true
jpa:
hibernate:
ddl-auto: create
show-sql: true
properties:
hibernate:
format_sql: true
아래와 같이 테이블 쿼리 확인되면 이상없다.

Share article