Because when programming beans with bean-managed transaction demarcation you have two ways of getting hold of a UserTransaction object: 1. By calling getUserTransaction() on the context object. 2. By looking up in JNDI the UserTransaction object mapped to the java:comp/UserTransaction