The EnterpriseJavaBeans specification is a considerable and respectable source of anti patterns. A brief list of the most obvious: * EntityBmpFinders * EjbQueryLanguage (still debatable whether it's an antipattern.) * Performance penalties (see http://www2.theserverside.com/home/thread.jsp?thread_id=16149 , circa Oct 2002). ''See also ThePetstoreFiasco for a little more detail about what really happened.'' * StatefulSessionBeans. Sensible people don't use them 99.9999% of the time. * DeploymentDescriptorHell: when your code and the several XML files and interfaces don't all agree and you get weird errors. This is usually resolved by picking a code generation tool of some kind. ---- As the situation stands in autumn 2004, the EJB 3.0 spec team practically acknowledges indirectly that previous EJBs were riddled with fundamental flaws. Well, they do not acknowledge that officially, but the next EJB 3.0 model will change direction in almost all design decisions and maintain "EJB 2.0, 1.1, etc" in compatibility with legacy code only. However one would bet that the situation vis-a-vis EjbTernaryRelationshipExample will stay unchanged. Newer flaws (but one would hope lesser flaws) coming soon, stay tuned. ---- CategoryEjb