我正在得到异常javax.persistence.PersistenceException: org.hibernate.SessionException: session在返回语句中关闭,我正在使用Spring JPA。
StringBuilder queryBuilder = new StringBuilder(querystat);
System.out.println("startDate--->" + startDate);
Query query =
getEntityManager().createQuery(queryBuilder.toString());
System.out.println("query.list();--->"
+ query.getResultList().size());
return query.getResultList();
有人对这个问题有想法吗?
感谢您的回复。我已经在服务类中添加了事务模板它的工作.下面是工作代码..
return transactionTemplate
.execute(new TransactionCallback<List<?>>() {
public List<?> doInTransaction(
TransactionStatus status) {
return dao.monthReportQuery(startDate, endDate);
}
});
调用
代码的公共方法需要用@Transactional注释。
此外,需要激活@Transactional
的处理。这可能已经处于活动状态,也可能尚未处于活动状态。 可以使用@EnableTransactionManagement激活它。
用@Transactional
注释的方法不得从同一类调用。