-->
These old forums are deprecated now and set to read-only. We are waiting for you on our new forums!
More modern, Discourse-based and with GitHub/Google/Twitter authentication built-in.

All times are UTC - 5 hours [ DST ]



Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 3 posts ] 
Author Message
 Post subject: Synchronization problem between applications
PostPosted: Mon Jan 11, 2010 6:22 am 
Newbie

Joined: Sat Jan 09, 2010 3:23 pm
Posts: 5
I am developing a windows forms application and I am using a singleton Session to make my queries, inserts, etc, in order to avoid many connections to the database, but there is a problem when another user using the application makes an update on db, my entity becomes lagged, it stays stored in the session in a previous state.
How can I make hibernate don't look in cache but always in database?
The following search is bringing lagged entities from cache:
Code:
session.CreateCriteria(typeof(obj)).List()


How to make always search straightly on database bypassing the cache layer?
thanks


Top
 Profile  
 
 Post subject: Re: Synchronization problem between applications
PostPosted: Mon Jan 11, 2010 9:38 am 
Newbie

Joined: Tue Jun 02, 2009 4:06 am
Posts: 16
Hi,

I am not clear on what your issue is but if you want that Hibernate's session should retrieve the query from db all the time and not from the cache then use session.get() API.

If you are use session.get() then you will have to use HQL and not Criteria for that.

Hope it answers your query.

-Kartik


Top
 Profile  
 
 Post subject: Re: Synchronization problem between applications
PostPosted: Mon Jan 11, 2010 10:01 am 
Newbie

Joined: Sat Jan 09, 2010 3:23 pm
Posts: 5
kravicha,
I believe hibernate always makes a search first on the first cache layer, even using HQL.
I tried to use the IStatelessSession in order to load my entities, but a lazy collection, ONE TO MANY relationship, is never initialized.
I have made a workaround using:
Code:
IList list = Session.CreateCriteria(typeof(obj)).List();

foreach(MyClass o in list)
{
     // force refresh from db
     session.Refresh(obj);
}


Thanks,
Andre


Top
 Profile  
 
Display posts from previous:  Sort by  
Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 3 posts ] 

All times are UTC - 5 hours [ DST ]


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum

Search for:
© Copyright 2014, Red Hat Inc. All rights reserved. JBoss and Hibernate are registered trademarks and servicemarks of Red Hat, Inc.