`

hibernate lock方法的使用

阅读更多
hibernate中lock方法到网上没有找到几个例子,所以自己就写一个放这。


@Test
	public void getStudent() {
		Session s = sf.openSession();
		s.beginTransaction();
		Student student = (Student) s.get(Student.class, 4);
		student.setName("whp4");//这样改后,因为当前对象还在session管理范围里,所以它的改变hibernate是能够知道的,操作后,数据库里当前记录的name变成了whp4
		s.beginTransaction().commit();
		s.close();
		
		
		
		s = sf.openSession();//重新打开一个新的session
		s.beginTransaction();//打开事务
		System.out.println(student.getName());
		s.lock(student, LockMode.NONE);//将脱管的student对象转化成持久太对象
		student.setName("whp8");//对student的name进行修改.
		
		s.beginTransaction().commit();
		s.close();
		
		//完成后student的name为whp8.

	}
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics