悲观锁举例-hibernate框架详解

时间:2024-05-16 03:14:17
【文件属性】:

文件名称:悲观锁举例-hibernate框架详解

文件大小:4.94MB

文件格式:PPT

更新时间:2024-05-16 03:14:17

hibernate

5、悲观锁举例 import org.hibernate.LockMode; import org.hibernate.Session; public void testLoad1() { Session session = null; try { session = HibernateUtils.getSession(); session.beginTransaction(); Inventory inv = (Inventory)session.load(Inventory.class, 1, LockMode.UPGRADE); inv.setQuantity(inv.getQuantity() - 200); session.update(inv); session.getTransaction().commit(); }catch(Exception e) { e.printStackTrace(); session.getTransaction().rollback(); }finally { HibernateUtils.closeSession(session); }} 二十三、Hibernate 悲观锁和乐观锁 游离状态的实例可以通过调用save()、persist()或者saveOrUpdate()方法进行持久化。持久化实例可以通过调用 delete()变成游离状态。通过get()或load()方法得到的实例都是持久化状态的。游离状态的实例可以通过调用 update()、0saveOrUpdate()、lock()或者replicate()进行持久化。游离或者*状态下的实例可以通过调用merge()方法成为一个新的持久化实例。 save()和persist()将会引发SQL的INSERT,delete()会引发SQLDELETE,而update()或merge()会引发SQLUPDATE。对持久化(persistent)实例的修改在刷新提交的时候会被检测到,它也会引起SQLUPDATE。saveOrUpdate()或者replicate()会引发SQLINSERT或者UPDATE。


网友评论