This week's book giveaway is in the OCAJP 8 forum. We're giving away four copies of OCA Java SE 8 Programmer I Study Guide and have Edward Finegan & Robert Liguori on-line! See this thread for details.
REQUIRE is the default and most commonly applicable transaction attribute value. This value specifies that the EJB method must always be invoked within a transaction. If the method is invoked from a non-transactional client, the container will start a transaction before the method is called and finish it when the method complete.
What is meant by non-transactional client?
I think if a client invoke a method annotated by @TransactionAttribute(TransactionAttributeType.REQUIRE), the client is making a new transaction or joining a transaction.