9.1 JPA 로깅 설정하기
- 로깅(logging)이란?
- 시스템이 작동할 때 당시의 상태와 작동 정보를 기록하는 것
- 로깅은 7단계가 있음.
- TRACE(LV 1), DEBUG(LV 2), INFO(LV 3), WARN(LV 4), ERROR(LV 5), FATAL(LV 6), OFF(LV 7)
- 출력 레벨을 설정하면 해당 레벨 이상의 로그가 출력(예시 | info로 설정 info/warn/error/fatal/off)로그 모두 기록
- 여기서는 JPA가 동작을 할 때 수행되는 SQL 쿼리를 보기 위해 로그 레벨을 DEBUG로 설정
- TRACE(LV 1) : DEBUG 레벨보다 더 상세한 정보
- DEBUG(LV 2) : 응용 프로그램을 디버깅하는 데 필요한 세부 정보
- INFO(LV 3) : 응용 프로그램의 순조로운 진행 정보
- WARN(LV 4) : 잠재적으로 유해한 상황 정보
- ERROR(LV 5) : 응용 프로그램이 수행할 수 있는 정도의 오류 정보
- FATAL(LV 6) : 응용 프로그램이 중단될 만한 심각한 오류 정보
- OFF(LV 7) : 로깅 기능 해제
#application.properties에서 설정
# 디버그 레벨로 쿼리 출력
logging.level.org.hibernate.SQL=DEBUG
# 쿼리 줄바꿈하기
spring.jpa.properties.hibernate.format_sql=true
# 매개변수 값 보여주기
logging.level.org.hibernate.type.descripter.sql.BasicBinder=TRACE
# DB URL 설정
# 유니크 URL 생성하지 않기
spring.datasource.generate-unique-name=false
# 고정 URL 설정하기
spring.datasource.url=jdbc:h2:mem:testdb
9.2 SQL 쿼리 로그 확인하기
- @GenerateValue 어노테이션에서 괄호를 열고 strategy = GenerationType.IDENTITY를 입력한 후 괄호를 닫는다.
- id 자동 생성 전략을 추가하면 앞으로 데이터를 생성할 때마다 DB가 알아서 id에 1,2,3,4 등 값을 넣어 준다.
9.3 기본 SQL 쿼리 작성하기
- 생성 테이블명을 특정 값으로 명시하고 싶은 경우. 엔티티 클래스에 @Table 어노테이션을 사용하면 됨.
- 엔티티 클래스에 @Table(name= "ORDERS")를 선언하면 클래스명과 상관없이 ORDERS라는 이름의 테이블이 생성 됨.
'개인 공부 > BackEnd Study' 카테고리의 다른 글
[ Spring Boot ] 맨날 까먹는 나를 위한 복습 - 14 - (0) | 2024.03.29 |
---|---|
[ Spring Boot ] 맨날 까먹는 나를 위한 복습 - 10 - (0) | 2024.03.28 |
[ Spring Boot ] 맨날 까먹는 나를 위한 복습 - 8 - (0) | 2024.03.28 |
[ Spring Boot ] 맨날 까먹는 나를 위한 복습 - 5 - (0) | 2024.03.27 |
[ Spring Boot ] 맨날 까먹는 나를 위한 복습 - 4 - (0) | 2024.03.27 |