Mount hibernate on the server side, with jcs mounted in cluster (synchronized via jms).
This is the easiest way I know to mount what you need. Cache isn't on stateful session beans nor in the clients, but in the server data cache. JCS can take care of that.
Better than that, investigate the cache forum here to know how can that be achieved.
Over all, check the hibernate docos about caching. Read a lot. And good luck.
have u looked at the ReplicatedHashtable in JGroups. You could store your objects in the ReplicatedHashtable. Any changes will get propagated across the cluster.