인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

창신동 장첸님의 프로필 이미지
창신동 장첸

작성한 질문수

자바 ORM 표준 JPA 프로그래밍 - 기본편

준영속 상태

JPA로그레벨 설정문의

작성

·

770

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설정으로 가능한지요?

답변 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을 참고해주세요.

감사합니다.

 

 

말씀주신 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

 

 

 

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로 지정하여 해결할 수 있었습니다.

감사합니다.

김영한님의 프로필 이미지
김영한
지식공유자

잘 찾아서 해결하셨군요^^ 감사합니다.

창신동 장첸님의 프로필 이미지
창신동 장첸

작성한 질문수

질문하기