我们正在将Java模板的持久层从JDBC模板重构为JPA/Hibernate.
我正在分析发给数据库的SQL语句,我看到很多次发出"SHOW WARNINGS".据JProfiler称,"SHOW WARNINGS"占据了相当数量的"固有时间".
什么可能导致SHOW WARNINGS频繁发布?
使用Jdbc模板时,以前未发布此SHOW WARNINGS.
下面是与持久性相关的堆栈部分.这里唯一的变化是引入了JPA/Hibernate.
编辑:这是发布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)
Run Code Online (Sandbox Code Playgroud)