2012-01-21 2 views
1

GlassFish 웹 서버에서 실행되는 Spring 응용 프로그램이 있고 최대 절전 모드 쿼리에서 아주 이상한 동작이 나타납니다. 나는 쿼리와 그 매개 변수를 볼 수 있기를 원합니다. 단지 '?'가 아닙니다. 자리 표시 자. 어떻게해야합니까?Glassfish에서 Spring - Hibernate 매개 변수를 기록합니까?

내가, 관리 콘솔을 통해가는 추가하고 서버 설정

  • javax.enterprise.system.std.com.sun.enterprise.server에 'FINEST'에 다음 로거를 구성 노력했다. log4j.logger.org.hibernate.type

난 아직도 매개 변수 바인딩을받지 못했습니다

  • 로그인.

    어떻게하면됩니까?

  • +0

    hibernate.cfg.xml에서 "show_sql", "format_sql"을 true로 설정 했습니까? 또한 log4j를 다음과 같이 설정해야합니다 :'log4j.logger.org.hibernate.SQL = DEBUG' 그리고 좋아요. –

    +0

    @ringbearer 거기에 hibernate.cfg.xml이 없다 - 어쩌면 글래스 피쉬를 통해 구성이 진행되고있는 것 같습니까? 나는이 모든 조각들이 어떻게 합쳐져서 솔직하게 어울리는지를 정말로 모르지만, 나는 단지 업데이트 진술이 기록된다는 것을 알고 있지만, 나는 기대하고있는 값이 DB에 나타나지 않는다는 것을 알고있다. 그러나 show_sql에 관해서는, SQL은 기록되고 있습니다. 단지 매개 변수가 없습니다 –

    답변

    0

    하여 스프링 빈 설정 파일을 엽니 다. 그것은 당신이 최대 절전 모드 세션 팩토리를 구성 할 장소입니다 (일반적으로는 hibernate.cfg.xml에 들어갑니다)

    다음 성격의 정의를 찾으십시오. 별도의 구성 파일에 이들을 정의 할 수 있습니다.

    <bean id="mySessionFactory" 
    class="org.springframework.orm.hibernate3.... 
    

    는 속성을 true로 show_sqlformat_sql을 설정해야 장소입니다.

    또한, 프로젝트의 log4j 구성을 찾습니다 (또는 글래스 피쉬 콘솔) 및 다음 설정 소개 :

    log4j.logger.org.hibernate.SQL=debug 
    log4j.logger.org.hibernate.type=trace 
    

    자세한 내용 here, here 유일한 대답은 글래스 피시를 사용하는 것입니다 같은 here

    +0

    고맙습니다. 이 모든 링크는 Spring + hibernate + glassfish가 아닌 최대 절전 모드를 다루는 것 같습니다. 이 특정 조합에는 이상한 점이 있습니다.예를 들어, show_sql은 persistence.xml에 있고 "springramework.org.hibernate"를 검색하면 아무 것도 반환하지 않습니다. 또한 글래스 피시 콘솔에 정의 된 로그 수준은 "최고"를 통해 "서버"로 이동하며 log4j가 일반적으로 가지고있는 로그 수준과 맞지 않습니다 (예를 들어 디버그 수준이 없음). 내 이해에 따라 –

    +0

    은 log4j를 사용하지 않습니다. 애플리케이션에 log4j를 설정하는 것이 더 운이 좋을 것입니다. glassfish의 jvm 설정을 통해'-Dlog4j.configuration' 매개 변수를 전달해야합니다. –

    +0

    다운 유권자 - 왜? –

    관련 문제