So, I was asked wtf javax.ejb.EnterpriseBean
I have no idea!
EnterpriseBean is the super-interface of
EntityBean, MessageDrivenBean and SessionBean, so your bean-implementation classes
are always serializable. Why is that necessary?
Some digging was in order.
I can naively understand why a Stateful SessionBean would be serializable; so that a container could "persist" it during activation/passivation, or move it around the nodes of a cluster. But that is not the modus operandi of EntityBeans... they have CMP or their store/load methods for that.
I couldn't find any justification why
EnterpriseBean is serializable in the EJB2.0 Spec (ejb-2_0-fr2-spec.pdf); it talks about how SessionBean activation/passivation uses serialization, but not a thing on Entity nor MessageDriven beans.
This is not a big issue... but I'm left scratching my head...