1. application.properties
# 1. DB 생성
spring.datasource.driver-class-name=org.h2.Driver
spring.datasource.url=jdbc:h2:mem:test
spring.datasource.username=sa
# 2. hibernate 세팅 (조건 : @Entity가 붙어있는 클래스만 찾아서 생성)
spring.jpa.hibernate.ddl-auto=create
spring.jpa.show-sql=true
- DB 생성
spring.datasource.driver-class-name=org.h2.Driver
: JDBC 드라이버 클래스를 설정spring.datasource.url=jdbc:h2:mem:test
: H2 인메모리 데이터베이스에 연결하기 위한 URL 설정(mem:test
는 메모리 기반 데이터베이스 이름)spring.datasource.username=sa
: 데이터베이스 연결 시 사용할 사용자 이름을 설정
- hibernate 설정
spring.jpa.hibernate.ddl-auto=create
: Hibernate가 데이터베이스의 스키마를 어떻게 처리할지 설정- 옵션
none
: DDL 자동 생성 안 함(기본값)create
: 애플리케이션 실행 시 테이블을 새로 생성(재시작 시 유지)create-drop
: 애플리케이션 실행 시 테이블을 생성하고 종료 시 삭제update
: 데이터베이스를 변경한 엔터티에 맞게 자동으로 테이블을 업데이트validate
: 엔티티와 데이터베이스의 테이블이 일치하는지 검증spring.jpa.show-sql=true
: Hibernate가 실행하는 SQL 쿼리를 콘솔에 출력할지 여부를 설정
2. Board
@NoArgsConstructor
@Getter
@Table(name = "board_tb")
@Entity
public class Board {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private int id;
private String title;
private String content;
private Timestamp createdAt;
}
@NoArgsConstructor
: 기본 생성자를 자동으로 생성해주는 롬복 어노테이션- JPA는 조회된 데이터(
ResultSet
)를 객체로 변환할 때 기본 생성자를 호출하여 객체를 생성한 후, 리플렉션을 통해 필드에 값을 채운다.
@Getter
: 모든 필드에 대해 게터 메서드를 자동으로 생성해주는 롬복 어노테이션
@Table(name = "board_tb")
: 해당 엔티티 클래스가 매핑될 테이블의 속성을 설정하는 JPA 어노테이션_tb
를 테이블 이름 뒤에 붙이는 컨벤션을 사용
@Entity
: 이 클래스가 JPA 엔티티임을 나타내는 어노테이션- JPA가 해당 클래스를 테이블과 매핑하고, 자동으로 테이블을 생성
@Id
: 테이블의 기본 키(primary key)를 설정하는 JPA 어노테이션
@GeneratedValue(strategy = GenerationType.IDENTITY)
: 기본 키 생성을 데이터베이스에 위임하는 JPA 어노테이션- 옵션
GenerationType.AUTO
: JPA 구현체가 적절한 기본 키 생성 전략을 자동으로 선택(기본값)GenerationType.IDENTITY
: 데이터베이스에서 자동 증가(AUTO_INCREMENT) 방식으로 기본 키를 생성GenerationType.SEQUENCE
: 데이터베이스 시퀀스를 사용하여 기본 키를 생성GenerationType.TABLE
: 별도의 테이블을 만들어 기본 키를 관리- H2 Database에서는
AUTO
전략을 사용할 경우 시퀀스 방식으로 동작할 수 있으므로, 자동 증가 방식을 원하면GenerationType.IDENTITY
를 사용해야 한다.
createdAt
은 JPA에서 테이블을 생성할 때created_at
으로 변환된다.
3. 테이블 생성 확인
- 웹 브라우저에서
http://localhost:8080/h2-console
URL에 접속한다.

- 올바른 데이터베이스 URL과 사용자 이름 입력한다.
JDBC URL
:jdbc:h2:mem:test
User Name
:sa

- Connect 후 테이블을 조회해 테이블이 올바르게 생성되었는지 확인한다.
Share article