Jakarta ee 对于JPA,是否仍然需要使用EJB会话bean?

Jakarta ee 对于JPA,是否仍然需要使用EJB会话bean?,jakarta-ee,ejb-3.0,Jakarta Ee,Ejb 3.0,使用会话bean的一些用例是什么?我个人更喜欢在web tire中保存会话状态,因为请求需要“粘性”。谢谢。会话bean提供的所有服务(声明性事务、声明性安全、异步方法、计时器等)。如果您不需要这些服务中的任何一项,那么您就不需要会话bean。请注意,一些JPA概念与其他JavaEE概念以及某些情况下的EJB相关联。具体而言,通过@PersistenceContext注入容器管理的EntityManager @PersistenceContext(type=EXTENDED)EntityMan

使用会话bean的一些用例是什么?我个人更喜欢在web tire中保存会话状态,因为请求需要“粘性”。谢谢。

会话bean提供的所有服务(声明性事务、声明性安全、异步方法、计时器等)。如果您不需要这些服务中的任何一项,那么您就不需要会话bean。

请注意,一些JPA概念与其他JavaEE概念以及某些情况下的EJB相关联。具体而言,通过
@PersistenceContext注入容器管理的EntityManager

  • @PersistenceContext(type=EXTENDED)EntityManager em;
    • EntityManager链接到一个
      @Stateful
      会话bean,并且只能由该会话bean使用
  • @PersistenceContext(type=TRANSACTION)EntityManager em;
    • EntityManager链接到当前正在运行的JTA事务的范围内,并且只能在该范围内使用

在第一种情况下,EJB是必需的。在第二种情况下,EJB很好地自动处理事务管道。

主要使用情况是避免编写JPA所需的冗长的事务管理代码

对于EJB,这几乎总是不可见的,最多是一个额外的注释