From UrbanCode website: "The Session over Entity Bean Idiom is perhaps the most widely touted idiom. It involves a session bean that communicates with the client application in a coarse grained manner and communicates with the database via a fine grained entity bean. When the client wants a reference to a data instance it calls a getState<>() method on the session bean. The session bean then creates a state object and populates it with attribute values that it obtains by calling the fine grained accessor methods on an entity bean. Because the transaction wraps the coarse grained getState<>() method on the session bean, the normally high overhead of calling the fine grained accessor methods on the entity bean is not incurred here. http://www.urbancode.com/projects/ejbbenchmark/idioms.jsp See Also UrbanCode, EjbBenchmark , EjbIdioms