Solved

automatic dirty checking

Posted on 2011-03-24
9
313 Views
Last Modified: 2012-05-11
Hi,

I wou.d like to know what is automatic dirty checking in hibernate. Whereand how and why to use it. Any ideas, resources, links, sample code highly appreciated. thanks in advance.
0
Comment
Question by:gudii9
  • 6
  • 3
9 Comments
 
LVL 47

Expert Comment

by:for_yan
Comment Utility

Thaerae are tons of stuff if you just google it - Automatic dirty checking hibernate -
some looks like very nicely written

http://www.hibernate-training-guide.com/dirty-checking.html

http://whitesboard.blogspot.com/2009/10/hibernates-smart-automatic-dirty-check.html
0
 
LVL 47

Expert Comment

by:for_yan
Comment Utility
0
 
LVL 7

Author Comment

by:gudii9
Comment Utility
I was not clear on

>>>
While a session remains open, if a Persistent object is modified, its data is kept synchronized with the database. The
data will be synchronized (but not committed) when session.flush() is called. It will be synchronized and committed
when the transaction is committed. It may be synchronized at other points

please advise
0
 
LVL 47

Accepted Solution

by:
for_yan earned 500 total points
Comment Utility
When you make change in the database the change is visible to the current session only
until you commit the transaction. As sson as you commit the transaction the change becomes
visible to other sessions(connections) to the same database.
This allows you to do stepwise changes within your session not compromising the view on the
database from different session.

Suppose you record buy/sell operation in two steps.
In first step you move money to the account of the seller, in another
step you reduce the inventory of the objects, being sold.
If you commit each of the steps, then someone from outside at certain
moment will see both money and goods in the property of the seller, which may create cionfusion.
That's why these two steps are organized into one transaction - first
the datbase prepares both steps - and during that time only
through the connection which executes these changes you can see stepwise changes
and when you commit - both changes are made simlutaneiously
and they become visible from outside as committed transaction.
No one will be confused.

0
How your wiki can always stay up-to-date

Quip doubles as a “living” wiki and a project management tool that evolves with your organization. As you finish projects in Quip, the work remains, easily accessible to all team members, new and old.
- Increase transparency
- Onboard new hires faster
- Access from mobile/offline

 
LVL 7

Author Comment

by:gudii9
Comment Utility
>>> first
the datbase prepares both steps - and during that time only
through the connection which executes these changes you can see stepwise changes


i was not clear on this part. when you say 'you can see' you mean other sessions see.
Other sessions only can see once you commit the changes of current transaction of couple of steps in current session right. please advise
0
 
LVL 47

Expert Comment

by:for_yan
Comment Utility
I mean that the session which executes changes will see every steps
of the process whereas other sessions will see only when the whole transaction is
committed
0
 
LVL 7

Author Comment

by:gudii9
Comment Utility


Any good video tutorials, online trainings etc for these intricate concepts. What is the best book for hibernate. Any good ebook, tutorials explains step by step. please advise
0
 
LVL 47

Expert Comment

by:for_yan
Comment Utility

this is the most reviewd book on Hibernate  on Amazon (though reviews are not all absolutely positive and also
it is already from 2006)
http://www.amazon.com/Java-Persistence-Hibernate-Christian-Bauer/dp/1932394885/ref=sr_1_1?s=books&ie=UTF8&qid=1303768128&sr=1-1


This is the newer book and everyone praises it, but looks like not so
many folks yet read it:

http://www.amazon.com/Spring-Persistence-Hibernate-Beginning-Tepper/dp/1430226323/ref=sr_1_5?s=books&ie=UTF8&qid=1303768128&sr=1-5



0
 
LVL 47

Assisted Solution

by:for_yan
for_yan earned 500 total points
Comment Utility


This particular topic in fact mostly has to do with
understanding of database transactions.
Therefore, I think
it would be useful to
 read a few pages about transcations to understand these
ideas in general, for example:

http://www.firstsql.com/tutor5.htm


http://download.oracle.com/javase/tutorial/jdbc/basics/transactions.html

0

Featured Post

Find Ransomware Secrets With All-Source Analysis

Ransomware has become a major concern for organizations; its prevalence has grown due to past successes achieved by threat actors. While each ransomware variant is different, we’ve seen some common tactics and trends used among the authors of the malware.

Join & Write a Comment

Suggested Solutions

Title # Comments Views Activity
computer science syllabus 3 52
json format text only 4 64
create a gui in perl 3 42
eclipse compiler vs Installed JREs option 3 35
Go is an acronym of golang, is a programming language developed Google in 2007. Go is a new language that is mostly in the C family, with significant input from Pascal/Modula/Oberon family. Hence Go arisen as low-level language with fast compilation…
International Data Corporation (IDC) prognosticates that before the current the year gets over disbursing on IT framework products to be sent in cloud environs will be $37.1B.
Viewers learn how to read error messages and identify possible mistakes that could cause hours of frustration. Coding is as much about debugging your code as it is about writing it. Define Error Message: Line Numbers: Type of Error: Break Down…
This video teaches viewers about errors in exception handling.

728 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

9 Experts available now in Live!

Get 1:1 Help Now