Java 在Hibernate中为每个select查询调用connection.getMetaData()

Java 在Hibernate中为每个select查询调用connection.getMetaData(),java,sql,oracle,hibernate,jdbc,Java,Sql,Oracle,Hibernate,Jdbc,我正在使用org.hibernate.SQLQuery在java应用程序中执行select查询。代码如下 Query query=session.createSQLQuery("query"); query.setResultTransformer(AliasToEntityMapResultTransformer.INSTANCE); List<Map<String,Object>> aliasToValueMapList=query.list(); 有人能解释一下为

我正在使用org.hibernate.SQLQuery在java应用程序中执行select查询。代码如下

Query query=session.createSQLQuery("query");
query.setResultTransformer(AliasToEntityMapResultTransformer.INSTANCE);
List<Map<String,Object>> aliasToValueMapList=query.list();

有人能解释一下为什么会发生这种情况,以及我如何避免这种情况(我想避免这种情况,因为这是报告中列出的最消耗CPU的查询)

我能找到正好解决我问题的方法。我将测试链接中给出的建议。一旦找到正确的解决方案,我将在这里更新结果

SELECT NULL AS table_cat, o.owner AS table_schem, o.object_name AS table_name, o.object_type AS 
table_type, NULL AS remarks FROM all_objects o WHERE o.owner LIKE :1 ESCAPE '/' AND o.object_name 
LIKE :2 ESCAPE '/' AND o.object_type IN ('xxx', 'TABLE') ORDER BY table_type, table_schem, table_name