Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/fsharp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jakarta ee Java EE中事务和实体管理器的管理_Jakarta Ee_Transactions_Entitymanager - Fatal编程技术网

Jakarta ee Java EE中事务和实体管理器的管理

Jakarta ee Java EE中事务和实体管理器的管理,jakarta-ee,transactions,entitymanager,Jakarta Ee,Transactions,Entitymanager,我想知道事务和EntityManager是如何在JavaEE中管理的 如果我理解的话,EJB有一个EntityManager,EntityManager有一个EntityTransaction。这是真的吗 我已经阅读了本规范,但有些地方我不明白。它被认为是2豆;我的问题是,当bean-2的方法被注释为Required时,这个bean如何知道它是否存在当前事务?考虑的EntityManager在2个bean中是不同的,因此bean-2不能访问对象和当前事务,不是吗?在jee中,您可以将容器视为一个

我想知道事务和EntityManager是如何在JavaEE中管理的

如果我理解的话,EJB有一个EntityManager,EntityManager有一个EntityTransaction。这是真的吗


我已经阅读了本规范,但有些地方我不明白。它被认为是2豆;我的问题是,当bean-2的方法被注释为Required时,这个bean如何知道它是否存在当前事务?考虑的EntityManager在2个bean中是不同的,因此bean-2不能访问对象和当前事务,不是吗?

在jee中,您可以将容器视为一个通晓一切的老大哥,在这种情况下,他知道您的事务发生了什么,方法是在部署时内省ejb,并在运行时使用ejb周围的代理,当您查找或通过注入获取ejb时,您得到的不是ejb的实例,而是一个引用了ejb的代理,因此,当您调用ejb时,实际上是在调用一个代理,该代理最终将调用您的ejb实例,这样容器就可以跟踪您的事务和其他所有内容,作为任何一个好的老大哥,它几乎可以与包括所有实体经理在内的所有人进行沟通,以便为他们提供有关当前交易的一些背景信息

请记住,jee的全部要点是,您的EJB不必知道任何关于事务或除业务之外的任何事情,并且尽可能多的事情由容器管理。有一些好消息