Actually I fetching recrods from a View. I cannot use unique key here. Is this problem relates something with cache.
No, this is not strictly a caching problem. ORM tools only work with relational data. A table or view without a primary key is not relational, so an ORM tool wont work with it. What is most likely happening is you are using a non-unique value for your identifier so Hibernate loads the first object with an id of 3 and any subsequent requests for an object of this type with this id gets the one Hibernate has already loaded. Fix this by giving your view a surrogate key.