jQuery in Action, 2nd edition*
The moose likes Object Relational Mapping and the fly likes Hibernate- why my query results are caching? Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of Murach's Java Servlets and JSP this week in the Servlets forum!
JavaRanch » Java Forums » Databases » Object Relational Mapping
Bookmark "Hibernate- why my query results are caching?" Watch "Hibernate- why my query results are caching?" New topic
Author

Hibernate- why my query results are caching?

vishwa venkat
Ranch Hand

Joined: Nov 22, 2003
Posts: 185
I have not set any second level cache.

I am just doing-

Query query = currentSession.createQuery("from Employee v where v.empId=" + empid);

List<Employee> retList = query.list();

and what I was doing is updating one of the employee object. and when I execute the query sometimes it returns update employee in the collection and sometimes old employee in that collection.

can some one help? Thanks,
-Visu
David Newton
Author
Rancher

Joined: Sep 29, 2008
Posts: 12617

Without further information, including how and when the employee (or employee collection) is being modified I'm not sure how we can help, although someone more familiar with Hibernate might have a better idea.
Paul Sturrock
Bartender

Joined: Apr 14, 2004
Posts: 10336

Its not Hibernate that is likely to be doing this. The query cache is pointless without a second level cache. I second David - we need to see more about what you are doing to help. Can you post your code?


JavaRanch FAQ HowToAskQuestionsOnJavaRanch
vishwa venkat
Ranch Hand

Joined: Nov 22, 2003
Posts: 185
Here is more info-

First i go to list screen where I display all employees foa department using-

Query query = currentSession.createQuery("from Employee v where v.deptId=" + deptId);
List<Employee> retList = query.list();

Next I go to particular employee by another query-
Query query = currentSession.createQuery("from Employee v where v.empId=" + empId);
Employee v = (Employee ) query.uniqueResult();

and once the user makes changes to the employee I call update-

Employee v = (Employee ) currentSession.merge(employee);
currentSession.flush();

and then I go back to view the list of employees again-

Query query = currentSession.createQuery("from Employee v where v.deptId=" + deptId);
List<Employee> retList = query.list();

I keep refreshing the list screen sometimes I see the employee with old details sometimes with new details.

I used a HibernateSessionFilter that starts up a session on each servlet request and closes at the end of service the request.

let me know if you need any more details.. I am very confused why its behaving weird...Thanks for all your help!
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: Hibernate- why my query results are caching?
 
Similar Threads
One-to-Many Relationship Returns No Records
Design question regarding managing one-to-many relationship...
Querying Based On Member of Contained Collection
JPA - getSingleResult Error
pattern ideas?