
이 글은 2026년 05월 04일 작성된 글입니다.
오늘은 Spring Data JPA 초기 세팅부터
엔티티, Repository, 로그 설정, 그리고 서비스 구조까지 정리했다.
Spring Data JPA는 DB를 쉽게 다루기 위한 라이브러리다.
Spring Initializr를 통해 프로젝트를 생성하고
JPA와 Web 의존성을 추가했다.
implementation("org.springframework.boot:spring-boot-starter-data-jpa")
implementation("org.springframework.boot:spring-boot-starter-web")
runtimeOnly("com.h2database:h2")
개발 환경에서는 H2를 사용했다.
spring:
datasource:
url: jdbc:h2:./db_dev;MODE=MySQL
DB 테이블과 매핑되는 클래스
@Entity
public class Post {
@Id
@GeneratedValue
private Integer id;
private String subject;
}
핵심
spring:
jpa:
hibernate:
ddl-auto: update
public interface PostRepository extends JpaRepository<Post, Integer> {
}
기본 제공 기능
Post post = new Post();
post.setSubject("제목");
postRepository.save(post);
👉 내부적으로 INSERT 실행
앱 시작 시 자동 실행되는 구조
@Bean
ApplicationRunner init() {
return args -> {
// 초기 데이터 생성
};
}
spring:
jpa:
properties:
hibernate:
format_sql: true
highlight_sql: true
use_sql_comments: true
추가
logging:
level:
org.hibernate.orm.jdbc.bind: TRACE
org.hibernate.orm.jdbc.extract: TRACE
👉 실행 SQL + 파라미터 + 결과까지 확인 가능
@Service
public class PostService {
}
👉 Service에는 @Service 쓰는 게 좋다
@Column(columnDefinition = "TEXT")
private String content;
private LocalDateTime createDate;
private LocalDateTime modifyDate;