Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/316.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/58.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 执行hibernate查询时出错_Java_Mysql_Hibernate_Jboss_Jboss5.x - Fatal编程技术网

Java 执行hibernate查询时出错

Java 执行hibernate查询时出错,java,mysql,hibernate,jboss,jboss5.x,Java,Mysql,Hibernate,Jboss,Jboss5.x,执行fetch HQL查询时出现异常。该查询大部分时间有效,但有时会显示此异常 数据库为MySQL,服务器为JBoss 5.1.0 GA 显示的错误是: org.hibernate.exception.genericjdbception:无法执行查询 位于org.hibernate.exception.sqlstatecoverter.handlednonspecificeexception(sqlstatecoverter.java:126) 位于org.hibernate.exception

执行fetch HQL查询时出现异常。该查询大部分时间有效,但有时会显示此异常

数据库为MySQL,服务器为JBoss 5.1.0 GA

显示的错误是:

org.hibernate.exception.genericjdbception:无法执行查询 位于org.hibernate.exception.sqlstatecoverter.handlednonspecificeexception(sqlstatecoverter.java:126) 位于org.hibernate.exception.sqlstatecoverter.convert(sqlstatecoverter.java:114) 位于org.hibernate.exception.jdbceptionhelper.convert(jdbceptionhelper.java:66) 位于org.hibernate.loader.loader.doList(loader.java:2231) 位于org.hibernate.loader.loader.listIgnoreQueryCache(loader.java:2125) 位于org.hibernate.loader.loader.list(loader.java:2120) 位于org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:401) 位于org.hibernate.hql.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:361) 位于org.hibernate.engine.query.HQLQueryPlan.performList(HQLQueryPlan.java:196) 位于org.hibernate.impl.SessionImpl.list(SessionImpl.java:1148) 位于org.hibernate.impl.QueryImpl.list(QueryImpl.java:102) 在java.lang.Thread.run(Thread.java:745)处,由以下原因引起:org.jboss.util.NestedSQLException:Error;-嵌套可丢弃: (java.lang.OutOfMemoryError:超出GC开销限制) 位于org.jboss.resource.adapter.jdbc.WrappedConnection.checkException(WrappedConnection.java:873) 位于org.jboss.resource.adapter.jdbc.WrappedStatement.checkException(WrappedStatement.java:852) 位于org.jboss.resource.adapter.jdbc.WrappedResultSet.checkException(WrappedResultSet.java:1947) 位于org.jboss.resource.adapter.jdbc.WrappedResultSet.getString(WrappedResultSet.java:892) 位于org.hibernate.type.StringType.get(StringType.java:41) 位于org.hibernate.type.NullableType.nullablesafeget(NullableType.java:184) 位于org.hibernate.type.NullableType.nullablesafeget(NullableType.java:173) 位于org.hibernate.type.AbstractType.hydroge(AbstractType.java:105) 位于org.hibernate.persister.entity.AbstractEntityPersister.hydroge(AbstractEntityPersister.java:2124) 位于org.hibernate.loader.loader.loadFromResultSet(loader.java:1404) 位于org.hibernate.loader.loader.instanceNotYetLoaded(loader.java:1332) 位于org.hibernate.loader.loader.getRow(loader.java:1230) 位于org.hibernate.loader.loader.getRowFromResultSet(loader.java:603) 位于org.hibernate.loader.loader.doQuery(loader.java:724) 在org.hibernate.loader.loader.doQueryAndInitializeNonLazyCollections(loader.java:259)上 位于org.hibernate.loader.loader.doList(loader.java:2228) ... 11更多原因:java.lang.OutOfMemoryError:超出GC开销限制


您的应用程序似乎内存不足。查询可能返回一个非常大的数据集,因此分配给应用程序的内存不足以处理该数据集。 你可以

  • 增加分配给Java进程的内存,或
  • 在子集中获取数据(分页),以避免立即返回大型数据集

基于stacktrace,在数据库中成功执行了查询,并且在JVM中准备结果集时出错。 此异常是一个与内存相关的问题,当您的程序需要的内存超过可用内存时会发生

有些可能性是

  • 配置:堆配置(Xmx)对于您的需要来说太小,您应该扩展它

  • 错误:查询中有一个错误,它会生成比预期更大的结果集

  • 设计:您需要重新设计代码,以便在不超过可用内存的情况下加载此数据。您可以在每次迭代中进行分页并存储一小块数据。在这种情况下,在加载下一个页面之前,将每个页面刷新给最终用户或消费者是很重要的


@Leonardo该查询只获取数据库中的6条记录。那么为什么会出现堆内存异常?@SachinPrakash,这很有趣。我不知道。在这几条记录中是否可能有太多的数据?stackoverflow.com/users/953550/leonardo cruz?tab=profile@leonardo no-only 6条记录,共10列