惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

阮一峰的网络日志
阮一峰的网络日志
Last Week in AI
Last Week in AI
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
U
Unit 42
J
Java Code Geeks
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
罗磊的独立博客
月光博客
月光博客
腾讯CDC
Stack Overflow Blog
Stack Overflow Blog
小众软件
小众软件
B
Blog
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
美团技术团队
Y
Y Combinator Blog
T
Tailwind CSS Blog
宝玉的分享
宝玉的分享
酷 壳 – CoolShell
酷 壳 – CoolShell
博客园_首页
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
爱范儿
爱范儿
B
Blog RSS Feed
V
Visual Studio Blog
MyScale Blog
MyScale Blog

博客园 - hugh-lin

MySql数据库、表名大小写的问题 [转]Spring--简单使用quartz实现定时作业 [转]PowerDesigner使用技巧 IBatis的自动生成工具abator的改造 - hugh-lin - 博客园 Struts2.1开发笔记-2 Struts2.1开发笔记-1 PowerDesigner 12.5 导致 Word 2003鼠标没反应的解决方法 J2EE开发之常用开源项目介绍(转) [转]通过ScriptManager在客户端来调用服务器端方法或者webService的方法 - hugh-lin - 博客园 [转]关闭Visual Studio 实时调试器 [转]java安装配置 [转]文件缓存的方式减少网站负载 [转]C#中得到程序当前工作目录和执行目录的一些方法 [转]Web项目下NHibernate的Session管理的解决方案 分页 oracle 导入/导出 [转]Datagridview 实现二维表头 [转]使用.NET实现断点续传 [转]IIS站点管理类 [转]C#的usb通讯编程
[转] NHibernate对像版本控制使用示例
hugh-lin · 2007-11-07 · via 博客园 - hugh-lin

<version name="Version" column="VERSION" type="Int64" unsaved-value="0" generated="never" />

NHibernate内建了对像的版本控制技术,就是如果两个进程同时更新一个对像,会有一个进程更新成功,而另一个进程会更新出错.

如下:
(1) 在HBM文件中添加对像的属性配置

CODE:

<version name="Version" column="VERSION" type="Int64" unsaved-value="0" generated="never" />

(2)在表中添加字段
名称:VERSION 类型:bigint

(3)在对像的CLASS中定义一个属性

CODE:

private Int64 version;
      public virtual Int64 Version
      {
        get {
          return version;
        }
        set {
          version = value;
        }
      }

(4)更新对像的代码

CODE:

public virtual bool UpdateObject(Entity entity)
      {
        try
        {
          this.SaveOrUpdate(entity);
          return true;
        }
        catch (Exception ex)
        {
          PrintErrLog("", ex);
        }
        return false;
      }

如果是同步更新,会返加false,提示更新出错.

posted on 2007-11-07 10:49  hugh-lin  阅读(246)  评论()    收藏  举报