Hibernate ne montrant pas de l'instruction sql de même avec sql_show=true
Je ne suis pas sûr de savoir pourquoi il ne montre pas l'instruction sql. Je l'ai travaillé avant (sur les anciens de printemps, je suis à l'aide de 3 ce temps)
Dans ApplicationContext j'ai :
<bean id="mySessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
<property name="dataSource" ref="myDataSource"/>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">org.hibernate.dialect.OracleDialect</prop>
<prop key="hibernate.show_sql">true</prop>
</props>
</property>
<property name="packagesToScan">
<list>
<value>my.model.*</value>
</list>
</property>
</bean>
Dans log4j:
# Standrd System.out appender
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.Threshold=DEBUG
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n
# package override setting
log4j.logger.org.hibernate.SQL=DEBUG, stdout
log4j.additivity.org.hibernate.SQL=false
log4j.logger.org.displaytag=INFO
log4j.rootLogger=DEBUG, stdout
Tout le reste semble très bien, mais il n'a tout simplement pas me montrer le sql.
Ai-je raté quelque chose?
(Ou il est possible d'imprimer à partir d'une SessionFactory de org.mise en veille prolongée.cfg.De l'environnement.getProperties()? Il n'est pas en montrant le show_sql, probablement même pas injecté correctement?)
S'il vous plaît aider
Merci à l'avance!
J'ai ajouté log4j.enregistreur.org.mise en veille prolongée.type=TRACE, mais toujours pas de chance.
Par ailleurs, je suis en utilisant JPA (annotation) pour la cartographie et j'utilise un générique de DAO pour créer mon modèle du DAO (à l'aide de printemps pour injecter le modèle de la classe qui s'étend HibernateDaoSupport)
Par ailleurs, je suis en utilisant JPA (annotation) pour la cartographie et j'utilise un générique de DAO pour créer mon modèle du DAO (à l'aide de printemps pour injecter le modèle de la classe qui s'étend HibernateDaoSupport)
OriginalL'auteur Roy Chan | 2011-08-16
Vous devez vous connecter pour publier un commentaire.
assurez-vous que le DÉBOGAGE est bon, à un moment, hibernate journalisation changé de DÉBOGAGE pour laisser de TRACE.
Aussi assurez-vous il n'y a pas de seuil dans votre
log4j.config
.si vous souhaitez vous aussi vos arguments pour être affichés incluent
org.hibernate.type
. Vous pouvez également le configurerorg.hibernate.jdbc=TRACE
ou essayerorg.hibernate=TRACE
analyser vos besoins et de revenir à des niveaux appropriés par paquet.Il a fait cela, mais il a changé dans le passé. Sur ma console j'obtiens:
[8/16/11 15:20:52:058 CEST] 00000038 SystemOut O 15:20:52.056 DEBUG [WebContainer : 6] org.hibernate.jdbc.util.SQLStatementLogger.logStatement:111 - select obfuscate0_.OUR_ID as OUR1_77_, obfuscate0_.USR_ID as USR2_77_, obfuscate0_.OFFICE as LVE3_77_, obfuscate0_.IDG_ID as IDGT4_77_, obfuscate0_.USRID_L
ajout de la mise en veille prolongée.type=TRACE, pas de travail. =(
il a travaillé. et c'est terminé pour moi mon erreur, entité qui n'est pas chargé correctement
L'ajout de la journalisation.niveau.org.hibernate=TRACE dans l'application.fichier de propriétés a fonctionné pour moi.
OriginalL'auteur dr jerry
Vous avez mise en veille prolongée.show_sql configuré correctement. Lorsque vous êtes à la recherche pour la sortie? Dans tous les cas, il est préférable de simplement oublier show_sql et utiliser Hibernate de journalisation de la place. Il est beaucoup plus souple. Supprimer la "mise en veille prolongée.show_sql" propriété entièrement, et dans votre journalisation config utilisation
Remarque qu'il n'y a aucune raison de jouer avec l'additivité puisque tout est écrit à la même appender, de sorte que cette ligne ne fait rien et doit être supprimé:
il a travaillé. et c'est terminé pour moi mon erreur, entité qui n'est pas chargé correctement
OriginalL'auteur Ryan Stewart