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.