Jsp 需要一些关于JPQL、JPA和Glassfish的解释来持久化数据吗
我是JSP新手,下面是我想知道的。我只是在HTML页面上打印一些数据:Jsp 需要一些关于JPQL、JPA和Glassfish的解释来持久化数据吗,jsp,jpa,jpql,persist,Jsp,Jpa,Jpql,Persist,我是JSP新手,下面是我想知道的。我只是在HTML页面上打印一些数据: ${movie.title} 我有一个Movie实体和一个MovieManagerEntityManager。当我想向电影添加评论(这是另一个实体,review)时,我的servlet在MovieManager中调用这段代码: Movie m = new Movie(//some data...); em.persist(m); 但当我在我的页面上被重定向时,这篇评论并没有立即刷新和打印出来,但我甚至会说可能是30秒后
${movie.title}
我有一个Movie
实体和一个MovieManager
EntityManager。当我想向电影添加评论(这是另一个实体,review
)时,我的servlet在MovieManager中调用这段代码:
Movie m = new Movie(//some data...);
em.persist(m);
但当我在我的页面上被重定向时,这篇评论并没有立即刷新和打印出来,但我甚至会说可能是30秒后
我在网上看到了很多东西,主要是:
em.getTransaction().commit();
em.close();
但它们都返回以下错误:
使用JTA时无法使用EntityTransaction
以及:
EJBException,java.lang.IllegalStateException用于关闭
请给我一些我该做什么的建议 servlet是表示层的一部分。它不应该处理JPA。相反,它应该调用服务,实现为EJB并包含业务逻辑,而业务逻辑应该调用DAO,也实现为EJB并包含持久性逻辑,处理实体管理器 服务EJB将在每次调用其方法时自动启动事务(这是使用EJB的主要原因),并在方法返回时自动提交