Stiamo rifattorizzando il livello di persistenza di un'applicazione Java da JDBC Template a JPA/Hibernate.Perché la query "SHOW WARNINGS" è stata emessa qui? (JPA/Hibernate/MySQL)
Sto profilando le istruzioni SQL rilasciate nel database e vedo "SHOW WARNINGS" è stato emesso molte, molte volte. Secondo JProfiler, "SHOW WARNINGS" rappresenta una notevole quantità di "tempo intrinseco".
Che cosa potrebbe causare SHOW WARNINGS da rilasciare così frequentemente?
Questo SHOW WARNINGS NON è stato precedentemente emesso quando si utilizza Jdbc Template.
Di seguito è riportata la parte del nostro stack relativa alla persistenza. L'unico cambiamento qui è l'introduzione di JPA/Hibernate.
- JPA/Hibernate: 4.3.6
- MySQL conducente: 5.1.33
- Database MySQL: 5.6.20
- JDBC Connection Pool: HikariCP-2.3.2
EDIT : Ecco una traccia dello stack di esempio di quando viene emesso SHOW WARNINGS.
com.mysql.jdbc.StatementImpl.getWarnings()
com.zaxxer.hikari.proxy.PreparedStatementJavassistProxy.getWarnings()
org.hibernate.jpa.internal.QueryImpl.getSingleResult()
com.mysema.query.jpa.impl.AbstractJPAQuery.getSingleResult(javax.persistence.Query)
com.mysema.query.jpa.impl.AbstractJPAQuery.uniqueResult()
com.mysema.query.jpa.impl.AbstractJPAQuery.uniqueResult(com.mysema.query.types.Expression)
org.springframework.aop.framework.JdkDynamicAopProxy.invoke(java.lang.Object, java.lang.reflect.Method, java.lang.Object[ ])
com.sun.proxy.$Proxy115.findOne(com.mysema.query.types.Predicate)
Sei incappato in come sopprimere gli avvisi? – Drew
Stai eseguendo MySQL con l'opzione '--show-warnings'? – DuncanKinnear
Puoi pubblicare la configurazione xml della tua unità di persistenza? – DuncanKinnear