You usually don't define RuntimeException (or one of its subclasses) in the "throws" clause of a method
An application exception is an exception defined in the throws clause of a method of an enterprise bean�s home, component, message listener, or web service endpoint interface, other than the java.rmi.RemoteException.
An application exception class must be a subclass (direct or indirect) of java.lang.Exception. An application exception class must not be defined as a subclass of the java.lang.RuntimeException or of the java.rmi.RemoteException.
Shouldn't this also include java.lang.RuntimeException?
An APPLICATION EXCEPTION is an exception defined in the throws clause of a method of the enterprise Bean's home and component interfaces, other than the java.rmi.RemoteException.
If I remember the JavaBeans Framework correctly, the get methods were called accessors and the set methods were called mutators. That's just a cosmetic issue, but we wouldn't want to confuse any newbies!
...the container-managed persistent (CMP) fields and container-managed relationship (CMR) fields...are accessed through get and set accessor methods.