setLockMode is a method of Hibernate Criteria API. You can use a lock mode in the following way
Criteria criteria = session.createCriteria(Student.class);
criteria.add(Restrictions.eq("name", "Ramesh"));
criteria.setLockMode("this", LockMode.UPGRADE);
List list = criteria.list();
An example of lockmode is given below
CriteriaLockMode.java
package net.roseindia.main;
import java.util.Iterator;
import java.util.List;
import net.roseindia.bean.Student;
import net.roseindia.util.HibernateUtil;
import org.hibernate.Criteria;
import org.hibernate.LockMode;
import org.hibernate.Session;
import org.hibernate.criterion.Restrictions;
public class CriteriaLockMode {
public static void main(String[] args) {
Session session = HibernateUtil.getSessionFactory().openSession();
Criteria criteria = session.createCriteria(Student.class);
criteria.add(Restrictions.eq("name", "Ramesh"));
criteria.setLockMode("this", LockMode.UPGRADE);
List list = criteria.list();
Iterator iterator = list.iterator();
while (iterator.hasNext()) {
Student student = (Student) iterator.next();
System.out.println(student.getCourse());
}
}
}
| Hibernate: select this_.roll_no as roll1_0_,
this_.name as name0_0_, this_.course as course0_0_, this_.address as
address0_0_, this_.addmision_date as addmision5_0_0_ from student this_
where this_.name=? for update MCA DCA |