Hibernate (Java) Question:

Download Job Interview Questions and Answers PDF

What is the difference between the session.update() method and the session.lock() method?

Hibernate Interview Question
Hibernate Interview Question

Answer:

Both of these methods and saveOrUpdate() method are intended for reattaching a detached object. The session.lock() method simply reattaches the object to the session without checking or updating the database on the assumption that the database in sync with the detached object. It is the best practice to use either session.update(..) or session.saveOrUpdate(). Use session.lock() only if you are absolutely sure that the detached object is in sync with your detached object or if it does not matter because you will be overwriting all the columns that would have changed later on within the same transaction.

Note: When you reattach detached objects you need to make sure that the dependent objects are reatched as well.

Download Hibernate Interview Questions And Answers PDF

Previous QuestionNext Question
What is the difference between the session.get() method and the session.load() method?How would you reatach detached objects to a session when the same object has already been loaded into the session?