我试图使用Hibernates的createSQLQuery方法执行查询,那么它将给我以下异常:-
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2113)at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2568)at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:2113)at com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:2275)at org.hibernate.jdbc.AbstractBatcher.getResultSet(AbstractBatcher.java:186)at org.hibernate.loader.Loader.getResultSet(Loader.java:1787)at org.hibernate.loader.Loader.doQuery(Loader.java:674)at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:236)at org.hibernate.loader.Loader.doList(Loader.java:2220)
从上述异常中我们可以看到它将尝试在内部执行
com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:2275)
。
我还在Hibernate
createSQLQuery参数替换处发现了@Alex Serna的问题,其中Alex在尝试替换表名时也得到了异常。
观察堆栈跟踪,我认为 Hibernate在内部将PreparedStatement用于createSQLQuery 。



