Java 处理提取的对象太慢

Java 处理提取的对象太慢,java,performance,hibernate,Java,Performance,Hibernate,编辑:这不是我每次创建会话对象的问题,它很糟糕,但在这种情况下,这并不是真正的原因 我刚刚用Hibernate构建了一个应用程序,它使用MySql数据库 我有一段代码,如下所示: List<FitArticle> articleList = new ArrayList<>(); PerformanceTest.setStarttime(); articleList = db.getArticleByFilter(Filter.STANDARD); PerformanceT

编辑:这不是我每次创建会话对象的问题,它很糟糕,但在这种情况下,这并不是真正的原因

我刚刚用Hibernate构建了一个应用程序,它使用MySql数据库

我有一段代码,如下所示:

List<FitArticle> articleList = new ArrayList<>();
PerformanceTest.setStarttime();
articleList = db.getArticleByFilter(Filter.STANDARD);
PerformanceTest.printTime("Getting Articles");

PerformanceTest.setStarttime();
List<FitArticle> articleNewList = new ArrayList<>();
articleNewList.add(articleList.get(0));

System.out.println(articleList.size());
controller.renderPage(articleList, page,firstCall);                     
PerformanceTest.printTime("Rendering");
还有这个

long.org.hibernate.internal.SessionImpl.initializeCollection(PersistentCollection,布尔值)

这一个最让我困扰,因为它在我的程序中被多次调用

我用于获取对象的方法:

List<FitArticle> list = new ArrayList<FitArticle>();
Session session = factory.openSession();
Transaction tx = null;
Criteria crit = session.createCriteria(FitArticle.class);
// Here some lines to modify Criteria.
list= crit.list();
return list;
List List=new ArrayList();
Session Session=factory.openSession();
事务tx=null;
Criteria crit=session.createCriteria(fitarce.class);
//这里有一些行可以修改标准。
list=crit.list();
退货清单;
有人知道为什么吗?
提前谢谢

您做错了,一次只能打开一个会话对象并共享,我将尝试,谢谢@JarrodRoberson您可能是对的,但methode renderPage()所花费的时间仍然比以前长(当我们使用JDBC获取对象列表时)。是的,这是意料之中的。你需要认真阅读你使用的工具的文档;在抱怨它们之前,它们是干什么用的,以及如何正确使用它们为什么是预期的?我修复了SessionFactory的问题,但仍然没有更快。使用JDBC时,在我获得对象列表后,render()的工作速度要快得多,与4秒相比,大约1秒。问题是,渲染我用hibernate获得的对象列表要比渲染用JDBC获得的对象列表慢得多
List<FitArticle> list = new ArrayList<FitArticle>();
Session session = factory.openSession();
Transaction tx = null;
Criteria crit = session.createCriteria(FitArticle.class);
// Here some lines to modify Criteria.
list= crit.list();
return list;