How hibernate second level cache works?