Caching is actually quite different between TopLink and Hibernate. Hibernate has a second level cache, which is essentially the JDBC data, while TopLink's second level cache is made up of objects.