Now, usually (or at least often) JNDI gets the values from the DD, but the bean doesn't ... not directly. Both of these points seems to be splitting hairs, IMHO.
It's not splitting hairs. On deployment the JNDI names of resource environment names that are declared in the deployment descriptor are bound to objects in the JNDI tree. These names are relative to the
java:comp/env context. In order to access the environment entries, it's necessary to obtain the InitialContext and do a lookup based on the name. In other words, the bean can obtain its environment entries
only via JNDI.
JNDI is fundamentally important to
EJB. You don't need to know all of it, but an understanding of what's required for the exam is necessary.