hibernate.cfg.xml
파일에 몇 가지 속성을 설정 했음에도 불구하고 Hibernate에서 콘솔 출력을 더 이상 얻을 수 없었습니다 (디버깅을 돕기 위해). 예를 들어, <property name="show_sql">true</property>
행을 추가해도 사실 SQL 문이 콘솔에 표시되지 않았습니다.Hibernate에서 더 많은 디버그 메시지를 얻으려면 어떻게해야합니까?
log4j.logger.org.hibernate=debug
과 같은 log4j.properties
파일의 콘텐츠를 가지고 놀아 보았습니다. 내가 뭘 놓치고 있니?
편집 : 최대 절전 모드-service.xml 파일의 내용
<server>
<mbean code="org.jboss.hibernate.jmx.Hibernate"
name="jboss.har:service=Hibernate_SMS">
<attribute name="DatasourceName">java:/SMS_DS</attribute>
<attribute name="Dialect">org.hibernate.dialect.HSQLDialect</attribute>
<attribute name="SessionFactoryName">java:/hibernate/SessionFactory</attribute>
<attribute name="CacheProviderClass">org.hibernate.cache.HashtableCacheProvider</attribute>
<attribute name="ShowSqlEnabled">true</attribute>
</mbean>
</server>
있습니다 I 해요이 실제로 불구하고, 어떤 효과가있는 경우 100 % 확실하지 않다. 이 XML 파일은 내 데이터베이스 작업을 처리하는 Eclipse 프로젝트에 있지만 JBoss 배포 디렉토리에는없는 것 같습니다.
편집 2 :이는 확실히 HAR로 배포됩니다. 즉, 나는 꽤 필요하다고 확신한다. hibernate.cfg.xml
- 맵핑 문서가 해당 파일의 항목으로 생략되었을 때 문제가 발생했다. 나는 HAR이 개미를 사용하여 생성 생각 - 대상이 build.xml 파일에 대한 거기 :
<target name="har" depends="prepare" description="Builds the Hibernate HAR file">
<mkdir dir="${class.root}" />
<mkdir dir="${distribution.dir}" />
<jar destfile="${distribution.dir}/${har.name}">
<!-- include the hbm.xml files -->
<fileset dir="${class.root}">
<include name="**/*.hbm.xml"/>
<include name="com/[redacted]/sms/data/dto/*.class"/>
<include name="com/[redacted]/sms/data/dto/base/*.class"/>
</fileset>
<!-- include jboss-service.xml -->
<metainf dir="${hibernate.dir}">
<include name="hibernate-service.xml"/>
</metainf>
</jar>
</target>
을하지만 최대 절전 모드-service.xml 파일에서 잘못 구성된 XML과 Ant 빌드를 수행 할 때, 그것을 실패하지 않습니다. 업데이트 파일을 완전히 삭제해도 빌드가 실패하지 않습니다. 어떤 아이디어가 있습니까? 최종 업데이트는 (모든 것이 올바르게 설정되어있는 경우)를 완전히 처리해야 출력 SQL 문에 최대 절전 모드지고 같은 소리
는 - 그 log4j.properties의 설정이 여기에 변화를하지 않을 것이라는 뜻인가? - 실제로는 이 일 때 ant를 실행할 때 출력을 변경하기 때문입니다.
편집 3 : 내 데이터 har
와 다른 이상한 문제로 실행 한 후, 나는 완전히 HAR 파일을 삭제하고 har
개미 빌드 타겟을 사용하여 재건. 갑자기 모든 것이 작동합니다! 그의 굉장한 유용성에 대한 체스 판에 감사드립니다. 결국 내가 무엇을했는지 정확히 알 수 없다고 말할 수는 없지만, 나는 내 자신의 대답을 쓰고 받아들이 기보다는 그의 노력을 인정할 것입니다. 네가 "그 사람"이 아니라면 사과하지.
'hibernate.show_sql'을; 활성화 된 경우 항상 SQL을 콘솔에 인쇄합니다. 적절한 로거 설정에서'org.hibernate.SQL = DEBUG'를 설정하는 것은 로거에 대해 설정된 모든 출력에 동일하게 적용됩니다. 두 방법 모두 서로 독립적입니다 (예 : 두 가지를 모두 설정하면 sql이 두 번 인쇄됩니다) – ChssPly76