
출처 : 김영한
JPA는 기존의 반복 코드는 물론이고, 기본적인 SQL도 JPA가 직접 만들어서 실행해준다. JPA를 사용하면, SQL과 데이터 중심의 설계에서 객체 중심의 설계로 패러다임을 전환을 할 수 있다. JPA를 사용하면 개발 생산성을 크게 높일 수 있다.
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
resources::application.properties 파일에 밑 코드 추가
spring.jpa.show-sql=true
spring.jpa.hibernate.ddl-auto=none
spring.jpa.show-sql : Spring Boot 애플리케이션에서 JPA(Java Persistence API)를 사용할 때, 실행되는 SQL 쿼리를 콘솔에 출력할지 여부를 설정하는 속성입니다.
일반적으로 개발 및 디버깅 단계에서 SQL 쿼리를 살펴보고 디버깅하는 데 도움이 되므로, 개발 환경에서는 이 속성을 활성화하는 것이 유용합니다. 그러나 운영 환경에서는 SQL 쿼리를 노출하지 않는 것이 보안 및 성능 측면에서 권장됩니다.
spring.jpa.hibernate.ddl-auto : Hibernate가 데이터베이스 스키마를 자동으로 생성 또는 업데이트하는 방식을 지정하는 데 사용됩니다. none으로 설정하면 Hibernate가 자동으로 스키마를 생성하거나 업데이트하지 않도록 설정됩니다.
다른 옵션들
create: Hibernate는 애플리케이션 시작 시에 데이터베이스 스키마를 생성합니다. 기존 스키마가 이미 존재하는 경우에는 드롭하고 다시 생성합니다. (개발 및 테스트 단계에서 사용)
update: Hibernate는 애플리케이션 시작 시에 데이터베이스 스키마를 업데이트합니다. 즉, 새로운 엔티티나 필드를 기존 테이블에 추가합니다. (주의: 존재하는 데이터를 보존하면서 스키마를 수정하는 데 사용)
validate: Hibernate는 애플리케이션 시작 시에 데이터베이스 스키마를 검증하며, 유효성 검사에 실패하면 예외를 던집니다.
create-drop: Hibernate는 애플리케이션 시작 시에 데이터베이스 스키마를 생성하고, 애플리케이션 종료 시에 스키마를 다시 삭제합니다. (테스트 용도)