我有@Stateless
@LocalBean
,看起来像这样
@LocalBean
@Stateless
class TokenBean {
public Token signOn() { <--------+
/* Do some JPA things. */ |
} |
|
public Token logIn() { |
/* Do some JPA things. */ |
return signOn(); --------+
}
@PersistenceContext
private EntityManager entityManager;
}
在JTA
内,如何在调用其他方法之前在方法中提交事务?我只需要致电flush()
上的entityManager
吗? (其实我这样做)
我试过@TransactionAttribute(TransactionAttributeType.REQUIRES_NEW)
,但我认为不适合这种情况。
答案 0 :(得分:1)
entityManager.flush()应该足够了,它将所有附加(到当前的persitence context)实体同步到数据库。 @TransactionAttribute(TransactionAttributeType.REQUIRES_NEW)将为您调用的每个方法启动一个新事务,但除非您退出该方法,否则它不会提交您的数据。