Have you tried testing that the nodes can see each other in the first place? The JGroups Draw test is a good starting point, see the JGroups docs on how to do this.
I've tested Infinispan on it's own (without Hibernate/JPA) and it was working. Only when used with Hibernate/JPA I am having problems.
Apart from @Cache and the usual entity annotations, do we have to annotate the entity with anything else?
I have also followed the instructions documented here
I am running out of ideas.
alexlooi, What information are you using exactly to determine that the cluster does not seem to join? Remember that as explained in the wiki, by default, entities are not replicated but instead are invalidated. So, changes you make to an entity are not replicated to other nodes but instead stale entities are invalidated in other cluster nodes.