`
newleague
  • 浏览: 1475449 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类

hibernate实例简析-hibernate_optimistic_locking

阅读更多
乐观锁

大多数基于数据版本记录机制(version)实现,一般是在数据库表中加入一个version字段
读取数据时将版本号一同读出,之后更新数据时版本号加一,如果提交数据时版本号小于或等于数据表中
的版本号,则认为数据是过期的,否则给予更新
===
Inventory inv = (Inventory)session.load(Inventory.class, 1);
System.out.println("itemName=" + inv.getItemName());
System.out.println("version=" + inv.getVersion());
System.out.println("quantity=" + inv.getQuantity());
inv.setQuantity(inv.getQuantity() - 200);
session.update(inv);
---
Inventory inv = (Inventory)session.load(Inventory.class, 1);
System.out.println("itemName=" + inv.getItemName());
System.out.println("version=" + inv.getVersion());
System.out.println("quantity=" + inv.getQuantity());
inv.setQuantity(inv.getQuantity() - 200);
session.update(inv);
===
<hibernate-mapping>
<class name="com.bjsxt.hibernate.Inventory" table="t_inventory" optimistic-lock="version">
<id name="itemNo">
<generator class="native"/>
</id>
<version name="version"/>
<property name="itemName"/>
<property name="quantity"/>
</class>
</hibernate-mapping>
===
public class Inventory {

private int itemNo;

private String itemName;

private int quantity;

private int version;
===
Inventory inv = new  Inventory();
inv.setItemNo(1001);
inv.setItemName("脑白金");
inv.setQuantity(1000);

session.save(inv);
分享到:
评论

相关推荐

    探索-重新实现:重新实现我的控制探索工作

    不乐观: python main.py --eval_every 1 --env gridworld --task default --n_state_bins 20 --env_size 20 --n_action_bins 4 --max_steps 100 --policy uniform --no_optimistic_updates --no_opt

    hibernate乐观锁和悲观锁学习

    首先为 TUser 的 class 描述符添加 optimistic-lock 属性: &lt;hibernate-mapping&gt; &lt;class name="org.hibernate.sample.TUser" table="t_user" dynamic-update="true" dynamic-insert="true" optimistic-lock=...

    hibernate学习笔记

    乐观锁(hibernate_optimistic) 32 HQL查询(hibernate_hql) 34 补充:SQL join连接 40 缓存 44 一级缓存 44 快取 45 hibernate二级缓存 47 Hibernate Gossip: 二级快取(Second-level) 48 hibernate查询缓存 50 ...

    Optimistic Locking with Concurrency in Oracle

    NULL 博文链接:https://huanyue.iteye.com/blog/2047294

    Hibernate_3.2.0_符合Java习惯的关系数据库持久化

    HIBERNATE - 符合Java习惯的关系数据库持久化 Hibernate参考文档 3.2 -------------------------------------------------------------------------------- 目录 前言 1. 翻译说明 2. 版权声明 1. Hibernate...

    optimistic-locking-behavior:允许您在 Propel 2 中使用乐观锁的行为

    乐观锁定行为Propel2 的乐观锁定行为。... behavior name = " optimistic_locking " /&gt;&lt;/ table&gt; 如果你还没有通过 composer 安装这个行为,你需要指定完整的类名作为行为名: &lt; behavior name = " \MJS\Opti

    hibernate3.2中文文档(chm格式)

    HIBERNATE - 符合Java习惯的关系数据库持久化 Hibernate参考文档 3.2 -------------------------------------------------------------------------------- 目录 前言 1. 翻译说明 2. 版权声明 1. Hibernate...

    redux-requests:用于单页面应用程序的声明性AJAX请求和自动网络状态管理

    单页应用程序的声明性AJAX请求和自动网络状态管理表中的内容动机 使用redux-requests ,假设您使用axios (也可以将其与其他任何东西一起使用!),则可以通过以下方式重构代码: import axios from 'axios';...

    HibernateAPI中文版.chm

    HIBERNATE - 符合Java习惯的关系数据库持久化 Hibernate参考文档 3.2 -------------------------------------------------------------------------------- 目录 前言 1. 翻译说明 2. 版权声明 1. Hibernate...

    2020-04-24-swr-optimistic-updates:我在SWR上的蛋头视频演示应用程序

    Mirage React演示 要在本地运行演示, 克隆此仓库yarn install yarn start 您可以在server.js文件中找到Mirage服务器定义。

    Hibernate+中文文档

    11.3. 乐观并发控制(Optimistic concurrency control) 11.3.1. 应用程序级别的版本检查(Application version checking) 11.3.2. 扩展周期的session和自动版本化 11.3.3. 脱管对象(deatched object)和自动版本化 ...

    Hibernate中文详细学习文档

    11.3. 乐观并发控制(Optimistic concurrency control) 11.3.1. 应用程序级别的版本检查(Application version checking) 11.3.2. 扩展周期的session和自动版本化 11.3.3. 脱管对象(deatched object)和自动版本化 ...

    Hibernate 中文 html 帮助文档

    11.3. 乐观并发控制(Optimistic concurrency control) 11.3.1. 应用程序级别的版本检查(Application version checking) 11.3.2. 扩展周期的session和自动版本化 11.3.3. 脱管对象(deatched object)和自动版本化 ...

    最全Hibernate 参考文档

    11.3. 乐观并发控制(Optimistic concurrency control) 11.3.1. 应用程序级别的版本检查(Application version checking) 11.3.2. 长生命周期session和自动版本化 11.3.3. 脱管对象(deatched object)和自动版本化 ...

    spring-data-jpa-locking:使用javax.persistance批注测试OptimisticLocking和PessimisticLocking的Spring Data JPA示例

    通过使用批注测试OptimisticLock和PessimisticLocking的Spring Data JPA示例。 经过Oracle 12数据库测试 技术堆栈: Java 1.8+ Maven 3.6+ Spring Boot 2.4.2.RELEASE Oracle for Java数据库驱动程序ojdbc8 ...

    Hibernate注释大全收藏

    Hibernate注释大全收藏 声明实体Bean @Entity public class Flight implements Serializable { Long id; @Id public Long getId() { return id; } public void setId(Long id) { this.id = id; } } @Entity ...

    hibernate 体系结构与配置 参考文档(html)

    1. Hibernate入门 1.1. 前言 1.2. 第一部分 - 第一个Hibernate应用程序 1.2.1. 第一个class 1.2.2. 映射文件 1.2.3. Hibernate配置 1.2.4. 用Ant构建 1.2.5. 启动和辅助类 1.2.6. 加载并存储对象 1.3. 第...

    关于游标使用sql

    测试3条数据 CREATE TABLE test_main ( id INT, value VARCHAR(10), ...[ READ_ONLY | SCROLL_LOCKS | OPTIMISTIC ] [ TYPE_WARNING ] FOR select_statement [ FOR UPDATE [ OF column_name [ ,...n ] ] ]

    hibernate 教程

    乐观并发控制(Optimistic concurrency control) 10.4.1. 使用长生命周期带有自动版本化的会话 10.4.2. 使用带有自动版本化的多个会话 10.4.3. 应用程序自己进行版本检查 10.5. 会话断开连接(Session...

    Hibernate教程

    Hibernate参考文档 目录 前言 1. 翻译说明 2. 版权声明 1. 在Tomcat中快速上手 1.1. 开始Hibernate之旅 1.2. 第一个持久化类 1.3. 映射cat 1.4. 与Cat同乐 1.5. 结语 2. Hibernate入门 2.1. 前言 2.2. 第...

Global site tag (gtag.js) - Google Analytics