Note: this discussion is actually not needed, you simply do not want to use entity beans as remote. In fact, you do not want to use entity beans at all if you ask me
But I know its important for the exam.
If you are looking up a judge, you can bet the client is also interested in one or more cases the judge is doing. Entity beans do not allow that you pass the relationship (which is only local view) to the client, meaning that a client cannot get the cases on which the judge is working on.
A solution (also mentioned in the spec) would be to use TO's. You would create a getter that, when called, traverses the local relationship in the entity bean and puts them into a collection of TO's which are in turn returned to the client.
+ You have a form of lazy loading, since the cases are only loaded when the client requested them. On the other hand, its not complete lazy loading since all the cases are loaded at once (supose the client only needed one case). You can always extend the getter with some arguments in which you can for example specify how much cases you want to be returned.
+ The information is returned in one call completely. I do not know what happens if you return remote interface of an entity bean, but I suspect that doing multiple getters may result in multiple network calls.
- If the cases have relations to other entities, for example 'persons' (a case exists because several persons have a delict) than you must use the foreign key of person located in the the case TO, to load the persons from the person entity bean.
Anyway, I do also not see a clear reason why remote is not allowed for CMR. sure, it can cause performance issues, but then again for small applications it could be very handy. And as always, you have to understand the technologie you are working with otherwise performance will always be an issue...