当前位置: 首页 > 知识库问答 >
问题:

错误:组织。冬眠发动机jdbc。spi。SqlExceptionHelper-耗尽了Resultset,嘿,我在我的hibernate代码中得到了这个异常?

曹成双
2023-03-14

警告:组织。冬眠发动机jdbc。spi。SqlExceptionHelper-SQL错误:17011,SQLState:99999错误:org。冬眠发动机jdbc。spi。SqlExceptionHelper-用尽结果集组织。冬眠例外GenericJDBCException:无法在组织上执行查询。冬眠例外内部的标准SQLExceptionConverter。在组织中转换(StandardSQLExceptionConverter.java:54)。冬眠发动机jdbc。spi。SqlExceptionHelper。在org上转换(SqlExceptionHelper.java:126)。冬眠装载机。装载机。doList(Loader.java:2556)位于org。冬眠装载机。装载机。doList(Loader.java:2539)位于org。冬眠装载机。装载机。org上的listIgnoreQueryCache(Loader.java:2369)。冬眠装载机。装载机。org上的列表(Loader.java:2364)。冬眠装载机。hql。QueryLoader。org上的列表(QueryLoader.java:496)。冬眠hql。内部的ast。QueryTranslatorImpl。org上的列表(QueryTranslatorImpl.java:387)。冬眠发动机查询spi。HQLQueryPlan。performList(HQLQueryPlan.java:231)位于org。冬眠内部的SessionImpl。org上的列表(SessionImpl.java:1264)。冬眠内部的QueryImpl。com上的列表(QueryImpl.java:103)。airtel。湿婆。配置。应用程序配置。findAll(ApplicationConfig.java:84)位于com。airtel。湿婆。控制器。TaskController。sun上的newtasks(TaskController.java:154)。反映NativeMethodAccessorImpl。sun上的invoke0(本机方法)。反映NativeMethodAccessorImpl。调用(NativeMethodAccessorImpl.java:62)警告:

这是我获取会话并创建查询以从我的oracle数据库中获取数据的代码:-

public static <T> Session getSession(Class<T> clazz) {

        try {   
            Configuration cfg = new Configuration().configure();    
            StandardServiceRegistryBuilder builder = new StandardServiceRegistryBuilder()
                    .applySettings(cfg.getProperties());    
            SessionFactory sf = cfg.buildSessionFactory(builder.build());    
            Session session = sf.openSession();    
            session = getSession();
            session.beginTransaction();
            Query query = session.createQuery("from " + clazz.getName());                            
            List<T> listData = query.list();       

        } catch (Exception e) {
            logger.info("Error in creating session with Database", e);
        }    
finally {
            if (session != null && session.isOpen()) {
                session.close();
            }    
        return listDAta;
        }

共有1个答案

易俊远
2023-03-14

当您试图访问Oracle数据库时,在事务成功之前,您将无法访问数据,为了完成事务,您必须启动提交。因为Oracle数据库默认情况下不处于自动提交模式

session.getTransaction().commit();
 类似资料: