Sigh.
Stu (in the other
thread) was not really talking about coarse-grained vs. fine-grained. He was really discussing an idiom called bulk update that Richard Monson-Haefel introduced in his EJB book.
The fine grained vs. large grained approach refers to the fact that some of the earliest versions of the EJB servers had a very inefficient CMP support. Thus, to get around this limitation, the vendors suggested that you not use CMP (which naturally maps one Entity bean to one table) but that instead you build BMP's that represent a JOIN of several tables and that return value objects representing the information in those tables. They called this "coarse-grained" BMP's and recommended it as the best approach for Entity bean use.
However, with the introduction of EJB 2.0 and the vast improvements in the CMP implementations from the vendors, this is no longer necessary. It is now perfectly acceptable in most cases to use CMP's that each map to one table since automatic container-controlled joins and caching mechanisms can make this more efficient than the coarse-grained BMP case.
As a result, newer books (like Floyd Marinescu's EJB Design
Patterns book) refer to coarse grained BMP's as an anti-pattern, rather than a pattern to be followed.
Kyle