With EJB3 entities there is only a transactional caching (no 2nd level cache like EJB2).
Are you sure that the caching will spare significant duration or cpu time ?
A good principle will be 'only think about cache if you measure that it will bring benefit'