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

Spring with Hibernate JPA-EntityManager被关闭异常

景同
2023-03-14
entityManager = entityManagerFactory.createEntityManager();

List<Object> list = entityManager.createQuery("FROM Class").getResultList();

entityManager.close();

return list.toArray(new Object[list.size()]);

我不打算修改对象。我只需要他们显示在UI上。你能给我一个解决办法吗?我使用的是Spring boot+hibernate JPA+AngularJS+PostgreSQL。

(附注:我不能让entityManager打开。如果让它打开,我会出现连接限制超出错误。这也不是最好的方法)

共有1个答案

岳时铭
2023-03-14

为什么不注入实体经理而不是工厂?通过这种方式,您可以将创建和处理委托给框架,gettind还消除了连接限制错误(因为框架将为您处理所有这些错误)。

您应该可以通过以下方式注入:

@PersistenceContext
private EntityManager em;

那你就用它吧。

 类似资料:
  • 我已经搜索了很多来识别spring JPA如何在打开EntityManager连接后关闭它。我已经使用@PersistenceContext将事务性EntityManager注入到我的Dao中,这意味着spring将负责为我创建和关闭EntityManager。然而,在我以前的实现中,我使用DAOs创建和关闭EntityManager,现在用spring代替了它。谁能帮我理解一下,spring是在

  • 问题内容: 我刚刚开始将自己的持久性框架迁移到JPA。 鉴于持久性框架隐藏了很多问题,我想知道不关闭EntityManagers是否会造成资源泄漏,或者框架是否会为我收集并关闭它们。 我打算在所有地方关闭它们,但是我必须关闭吗? 目前使用TopLink只是因为它可以轻松地与NetBeans一起使用,但是很高兴调查其他JPA提供程序。 问题答案: 这取决于您如何获得它。 如果使用EntityMana

  • 问题内容: 这是我目前拥有的代码: 一切都会按预期进行(调用writeToFile方法时将文件写入)。但是,当第二次调用writeToFile方法时,出现以下错误: 该文件仍按预期第二次写入,但是它将在第二次以及以后对writeToFile()的调用中引发此错误。我想知道是什么导致此错误发生。 问题答案: 写完后就在打电话。流关闭后,将无法再次写入。通常,实现此目标的方法是将结束状态移至write

  • 当使用JPA的Hibernate实现并使用Spring数据源管理这些资源时,EntityManager会话何时关闭?例如,下面的基本模式让Spring服务层调用Spring DAO层(@repository)。DAO存储库自动调用PersistentContext的EntityManager并执行DB操作。我的问题是,在getData服务方法完成之后,EntityManager会话何时关闭?我之所

  • 当我试图从DB查询结果时,我得到一个空指针异常。以下是错误: 这是错误产生的函数。 如果我启动应用程序信息服务(=new ApplicationInfoService()),我会得到一个指向我的服务类的空指针错误,在这里进行查询 错误转到createQuery行,如果我打印出EntityManager,它将返回“null”。为什么我的Entitymanager不能初始化。我在我的登录系统中使用了几

  • 方法是 现在我试着像这样改成stream,但我不知道这种改是否正确: 如何避免出现例外,解决问题? 我应该以某种方式重构代码吗?