这个错误在nhibernate中意味着什么

2024-02-11

出乎意料的是,我在使用 nhibernate 进行大量更新时遇到了此错误。

行已被另一个事务更新或删除(或未保存值映射不正确):[MyDomainObject]

错误中没有附加信息。是否有一些推荐的方法来帮助识别根本问题,或者有人可以给我一个更好的解释来说明此错误所表明的内容或周围的症状。

一些附加信息

我查看了该对象,所有数据看起来都很好,它有一个 ID 等。 。

请注意,这是在来自 asp.net-mvc 网站的单个调用堆栈中运行的,因此我不认为在并发性方面需要担心任何线程问题。


NHibernate 有一个对象,我们称之为theObject. theObject.Id值为42。 NHibernate 注意到该对象是脏的。对象的 Id 与未保存的值不同,对于整数主键,未保存的值为零 (0)。因此 NHibernate 发出更新语句,但没有更新任何行,这意味着数据库中没有该类型对象的行Id of 42。因此该对象已在 NHibernate 不知情的情况下被删除。这可能发生在另一个事务中(例如,您有线程问题),或者如果有人(或另一个应用程序)直接使用 SQL 对数据库删除/更改了行。

另一种可能性是你的未保存值是错误的。例如您正在使用-1指示未保存的实体,但您的映射的未保存值为零。这不太可能,因为您的应用程序通常是根据声音运行的。如果未保存的值错误,您将无法将任何实体保存到数据库,因为 NHibernate 会发出这样的命令UPDATE本应发布的声明INSERT.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

这个错误在nhibernate中意味着什么 的相关文章

随机推荐

  • Firebase Firestore 与侦听器的成本

    有几个与消防成本相关的问题 但我找不到能够澄清我脑海中问题的问题 我有两个案例 我想知道每种情况下的估计成本 文档读取次数 假设我有一个显示 10 个用户的一页应用程序 打开应用程序会将侦听器附加到 userList 集合并侦听该集合中的
  • 具有纤薄框架的读取令牌

    我正在使用 SlimFramework 和 JWT 来处理基于登录名和密码的基于令牌的身份验证 我成功登录并发送令牌作为响应 这是我的代码
  • 在 Hive 中创建临时表?

    Hive 支持临时表吗 我在 apache 文档中找不到它 从 Hive 0 14 0 开始感谢 hwrdprkns 的评论 从 Hive 0 14 0 开始 支持临时表https cwiki apache org confluence d
  • ASP.NET MVC RC - 使用代码隐藏创建 MVC 用户控件

    尝试在候选版本中创建一个 MVC 用户控件 但我无法使用代码隐藏文件来创建一个 MVC 视图页面也是如此 在 Beta 版中创建视图会产生代码隐藏 我错过了什么吗 代码隐藏有点违背了 MVC 框架的目的 功能应该与视图分离 MVC 团队认为
  • 确保 C++ 中的 OpenGL 兼容类型

    OpenGL 缓冲区对象支持各种明确定义宽度的数据类型 GL FLOAT是32位的 GL HALF FLOAT是16位的 GL INT是 32 位 如何确保 OpenGL 的跨平台和面向未来的类型 例如 喂食float数据从 C 数组到缓冲
  • .NET 中通过 Process.Start 生成的进程会挂起线程

    我们的应用程序有一个后台线程 它通过以下方式生成一个进程System Diagnostics Process Process Start new ProcessStartInfo FileName url UseShellExecute t
  • Java 运行时 ClassNotFoundException

    只是有一个关于我遇到的奇怪的运行时错误的问题 我正在使用一个 JSON 服务器 当外部源提示时 该服务器会响应 JSON 对象 然而 到目前为止 我只是尝试在发送 JSON 对象之前启动并运行它 我的代码编译时没有指定任何类路径 但是当涉及
  • Java 8 forEach 带索引[重复]

    这个问题在这里已经有答案了 有没有办法建立一个forEachJava 8 中使用索引迭代的方法 理想情况下我想要这样的东西 params forEach idx e gt query bind idx e 我现在能做的最好的事情就是 int
  • MySQL 5.7 无法匹配两个汉字

    表TB title keywords 企业贷款 该如何看懂银行流水 出口退税 贷款 现金流量表 利润表 最高人民法院关于审理民间 企业贷款 合同法 贷款 中国宏观经济数据点评 企业贷款 贷款 ngram token size 2 FULLT
  • iOS Swift didBeginContact 没有被调用

    这两天我一直在努力让两个SKSpriteNode注册碰撞并唤起didBegin contact 我已经设置了他们的位掩码 categoryBitMask contactTestBitMask and collisionTestBitMask
  • 在子文件夹中运行的 Angular 7 中的路由无法正常工作

    我们正在努力将我们的应用程序迁移到新的 Angular 版本 旧的 Angular JS 是它自己的应用程序 存储库 由 NET Framework 4 5 2 ASP NET MVC 应用程序提供服务 该应用程序会将每个调用路由到Home
  • Python:我尝试使用 tabula:ModuleNotFoundError:没有名为“tabula”的模块

    我尝试使用 python 模块 tabula 但显然我已经安装失败了 我只是使用了代码 import tabula 但是 我收到以下错误消息 ModuleNotFoundError No module named tabula 有什么想法吗
  • 带有 ExtJS 4 存储的 HTTP 标头

    我已经实例化了几家商店 但在某个时刻 我会在所有这些中添加一个 HTTP 标头 我怎样才能用 ExtJS 4 做到这一点 假设您使用的是 ajax 代理 您可以更新headers http docs sencha com ext js 4
  • (使用 SSH 运行命令时出错)命令行:第 0 行:配置选项错误

    错误消息 命令行 第 0 行 错误的配置选项 sh ssh i rundeck rsa key o StrictHostKeyChecking no o email protected cdn cgi l email protection
  • window.onbeforeunload - 在 Angular2 中导入

    我正在尝试使用window onbeforeunload在我的项目中 但我不知道如何使用它 我尝试过两种方式 1st way window on beforeunload function e return Are you sure you
  • 重定向到屏幕和管道

    我想将一些输出传输到另一个程序并显示进度条 代码看起来像这样 echo Progress for i in 1 10 do echo i echo gt screen sleep 1 done xargs echo where screen
  • 如何使用 pip 进行 pyenv?

    我在 Mac 上安装了 pyenv 来管理不同的 python 版本 之前 我有系统默认的 python 2 7 位于 Library Frameworks Python framework Versions 2 7 我还有 python3
  • SW2 更新后如何修复索尼 SmartWatch 2 上的自定义表盘时间 [关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 背景 索尼于 2014 年 12 月发布了索尼 SmartWatch 2 的更新 虽然更新为手表添加了新功能 但不幸的是 它导致了自定义表盘
  • Proguard 使 Android 应用程序中的 R 类反射不再起作用

    自从我尝试在 Google Play 上发布它以来 我已经在我的项目中激活了 proguard 尽管 proguard android txt 有 keepclassmembers class R public static
  • 这个错误在nhibernate中意味着什么

    出乎意料的是 我在使用 nhibernate 进行大量更新时遇到了此错误 行已被另一个事务更新或删除 或未保存值映射不正确 MyDomainObject 错误中没有附加信息 是否有一些推荐的方法来帮助识别根本问题 或者有人可以给我一个更好的