Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.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
Java 为什么在使用@TransactionAttribute时使用@Stateless?EJB_Java_Jpa_Ejb - Fatal编程技术网

Java 为什么在使用@TransactionAttribute时使用@Stateless?EJB

Java 为什么在使用@TransactionAttribute时使用@Stateless?EJB,java,jpa,ejb,Java,Jpa,Ejb,我想知道为什么在使用TransactionAttributeType时使用无状态注释,如下所示: @TransactionAttribute(TransactionAttributeType.REQUIRES_NEW) @Stateless public class Controller { 感谢您的帮助,谢谢 @Stateless确定不与客户端保持对话状态的bean类型@TransactionAttribute确定处理事务的方式。在您的示例中,bean在调用结束后不会保持特定于客户端的状态

我想知道为什么在使用TransactionAttributeType时使用无状态注释,如下所示:

@TransactionAttribute(TransactionAttributeType.REQUIRES_NEW) 
@Stateless
public class Controller {

感谢您的帮助,谢谢

@Stateless确定不与客户端保持对话状态的bean类型@TransactionAttribute确定处理事务的方式。在您的示例中,bean在调用结束后不会保持特定于客户端的状态。但当您选择REQUIRES_NEW时,它将始终为每个方法调用创建一个新事务,这与可以使用现有事务时默认的REQUIRED不同,如果现有事务不存在,它将由容器创建