"why the hassle of having a layer of session beans if I can just use those entity beans directly?"
having more layers (if designed correctly) will make the system to be more 'expandable': - better maintainability, better support for future modification and so on.
Think of the design as a foundation for growth, so if the foundational design and implementation is good, it can evolve quite far in the future.
But if the system will not have such a need in the future, and only used by very few people (i.e not 'enterprise' in any significant way) then you probably don't have to worry that much into having such elaborate foundation structure in your system.
However in such a scenario,
you should probably evaluate as to whether or not you REALLY want to choose EJB to build your solution.
If you wanted to access your 'persistance-aware' objects directly from the client, there's stuff like Hibernate or Toplink that you can use too...
[ August 30, 2008: Message edited by: Zenikko Sugiarto ]
[ August 30, 2008: Message edited by: Zenikko Sugiarto ]