Understanding hibernate first level cache with example