【发布时间】:2018-03-16 10:37:33
【问题描述】:
我有一个从EntityManager 创建的标准。
final CriteriaBuilder criteriaBuilder = entityManager.getCriteriaBuilder();
final CriteriaQuery query = criteriaBuilder.createQuery();
我将该条件存储在 RestController 中。
现在我喜欢在 Singleton-Service 中执行查询,但出现异常:
Caused by: java.lang.IllegalStateException: Session/EntityManager is closed
at org.hibernate.internal.AbstractSharedSessionContract.checkOpen(AbstractSharedSessionContract.java:326)
at org.hibernate.engine.spi.SharedSessionContractImplementor.checkOpen(SharedSessionContractImplementor.java:126)
at org.hibernate.internal.SessionImpl.getPersistenceContext(SessionImpl.java:2234)
at org.hibernate.query.internal.AbstractProducedQuery.isReadOnly(AbstractProducedQuery.java:238)
at org.hibernate.query.internal.AbstractProducedQuery.getQueryParameters(AbstractProducedQuery.java:1249)
at org.hibernate.query.internal.AbstractProducedQuery.doList(AbstractProducedQuery.java:1404)
at org.hibernate.query.internal.AbstractProducedQuery.list(AbstractProducedQuery.java:1374)
at org.hibernate.Query.getResultList(Query.java:417)
at org.hibernate.query.criteria.internal.compile.CriteriaQueryTypeQueryAdapter.getResultList(CriteriaQueryTypeQueryAdapter.java:55)
如何合并查询到新的EntityManager?
【问题讨论】:
标签: java sql spring criteria-api