인프런 커뮤니티 질문&답변
JPA로그레벨 설정문의
작성
·
816
0
강사님께서 진행한 결과와 다르게 콘솔에 찍히는 로그는
아래와 같이 DEBUG레벨까지 정보를 보여주고 있습니다.
15:19:38.870 [main] DEBUG org.hibernate.engine.transaction.internal.TransactionImpl - begin
15:19:38.879 [main] DEBUG org.hibernate.SQL -
select
member0_.id as id1_0_0_,
member0_.name as name2_0_0_
from
Member member0_
where
member0_.id=?
강의에서 찍힌 로그와 동일하게 출력하기 위해서 로그레벨 설정하는 방법을 알고자합니다.
springJPA설정이 아닌 jpa설정으로 가능한지요?
퀴즈
JPA에서 영속성 컨텍스트는 어떤 역할을 하는 핵심 개념일까요?
객체와 테이블의 매핑 정보 정의
엔티티를 관리하고 DB와 동기화하는 환경 제공
SQL 쿼리 직접 작성 및 실행
데이터베이스 연결 풀 관리
답변 1
0
안녕하세요. ddoddo님
스프링 부트와 함께 사용중이시군요.
application.properties
다음 옵션을 넣어주시면 됩니다.
spring.jpa.show-sql=true
JPA를 사용하시면 다음 강의에서
https://www.inflearn.com/course/ORM-JPA-Basic/lecture/21684?tab=curriculum&volume=1.00
14:15를 참고해서 persistence.xml을 참고해주세요.
감사합니다.
https://www.inflearn.com/course/Querydsl-%EC%8B%A4%EC%A0%84/lecture/30118?tab=note&volume=1.00&speed=1&quality=1080
위 QueryDSL강의 2분48초에
System.out으로 출력되는 show_sql 과
Logback으로 출력되는 logging.level.org.hibernate.SQL: debug 설정을 설명해주셨습니다.
로그는 로거로 출력하는 것이 올바르기에 show_sql옵션을 false로 지정하여 해결할 수 있었습니다.
감사합니다.






말씀주신 show_sql옵션의 JPA peristence.xml에 추가하여 sql문을 로그로 확인할 수 있는 상태입니다.
하지만, 아래와 같이 불필요하게 동일한 쿼리를 DEBUG레벨로 보여주고 있습니다.
강의를 하실 때 강사님 화면에서는 'Hibernate: 쿼리문'만 콘솔에 찍혀 보이는 것을 확인할 수 있은데요. 이 부분에 대한 별도의 설정이 있으셨는지 궁금합니다.
===========================================================================================
14:31:48.912 [main] DEBUG org.hibernate.loader.collection.plan.AbstractLoadPlanBasedCollectionInitializer - Loading collection: [hellojpa.Team.members#1]
14:31:48.912 [main] DEBUG org.hibernate.SQL -
select
members0_.TEAM_ID as team_id3_2_0_,
members0_.MEMBER_ID as member_i1_2_0_,
members0_.MEMBER_ID as member_i1_2_1_,
members0_.TEAM_ID as team_id3_2_1_,
members0_.USERNAME as username2_2_1_
from
Member1 members0_
where
members0_.TEAM_ID=?
Hibernate:
select
members0_.TEAM_ID as team_id3_2_0_,
members0_.MEMBER_ID as member_i1_2_0_,
members0_.MEMBER_ID as member_i1_2_1_,
members0_.TEAM_ID as team_id3_2_1_,
members0_.USERNAME as username2_2_1_
from
Member1 members0_
where
members0_.TEAM_ID=?
14:31:48.913 [main] DEBUG org.hibernate.loader.plan.exec.process.internal.ResultSetProcessorImpl - Preparing collection initializer : [hellojpa.Team.members#1]
14:31:48.914 [main] DEBUG org.hibernate.loader.plan.exec.process.internal.CollectionReferenceInitializerImpl - Found row of collection: [hellojpa.Team.members#1]
14:31:48.915 [main] DEBUG org.hibernate.engine.loading.internal.CollectionLoadContext - 1 collections were found in result set for role: hellojpa.Team.members