问题标签 [nhibernate-cascade]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
9930 浏览

nhibernate - 强制 NHibernate 在插入之前级联删除

我有一个与子对象具有一对多关系的父ISet对象。子对象具有唯一约束(PageNumContentID- 父对象的外键)。

我遇到的问题是,如果我ContentPage从父集合中删除一个元素,然后在同一个事务中添加一个具有相同唯一键的新元素......你会得到一个唯一约束违规,因为NHibernate尝试删除。

有没有办法强制 NHibernate 先执行删除?

0 投票
1 回答
11972 浏览

c# - NHibernate Cascade=保存更新”?

免责声明:我是 NHibernate noobie,所以希望这个问题是有道理的。我有两个类之间的多对多关系,例如......</p>

我在两个类映射中都添加了与包的多对多关系,定义了一个关联表,但不确定要使用哪个级联选项。我希望能够创建一个新的 Entity1 实例,将一个新的 Entity2 实例添加到它的列表中,调用 Save,并将两者都插入到数据库中(反之亦然)。删除实体时,它应该删除与子实体的任何关联,而不是子实体本身。我应该使用 cascade="save-update" 吗?

0 投票
2 回答
3639 浏览

nhibernate - NHibernate级联保存

这是试图将 null 插入 Comment.BlogArticleID。

出现以下 GenericADOException:“无法插入:[NHibernate__OneToMany.BO.Comment][SQL: INSERT INTO Comment (Name) VALUES (?); select SCOPE_IDENTITY()]”

出现以下内部异常:“无法将值 NULL 插入到列 'BlogArticleID'、表 'Relationships_Test_OneToMany.dbo.Comment';列不允许空值。插入失败。\r\n语句已终止。”

我需要一个单向映射。提供的答案是关于双向映射。

NHibernate 级联保存是否适用于本机 ID 生成器?

数据库表:

BlogArticle{ID, Name},如果是 ID,Identity=true。

Comment{ID, Name, BlogArticleID},如果是 ID,Identity=true。

注释.hbm.xml

博客文章.hbm.xml

主要的

存储库

0 投票
2 回答
400 浏览

.net - NHibernate 级联和生成的 guid id - 为什么在保存时不为孩子生成?

我执行以下操作:

User.Cases 上的级联设置为 All。但是@case.Id 在事务提交之前不会设置。这是预期的行为吗?我非常想在提交之前获得 Id。可以做到吗?

0 投票
1 回答
689 浏览

nhibernate - NHibernate 多对多关系级联 AllDeleteOrphan StackOverflowException

我有两个对象通过映射表彼此具有多对多关系。虽然,当我尝试保存它时,我得到一个堆栈溢出异常。以下是映射的代码:

当我将 performermapping.cs 更改为 Cascade.None() 时,我摆脱了异常,但是我的事件对象没有我与之关联的执行者。

我应该如何正确地写这个?谢谢

0 投票
1 回答
1884 浏览

java - 休眠:级联问题

在hibernate中有很多关于set cascade to "all, delete"之类的信息,但是我想知道set cascade to "none"的效果

现在我有一个类 Parent,它是子类 Child,

并在文件 parent.hbm.xml 中(我省略了其他内容)

保存父母时,我不想级联更新他的孩子,所以我设置了cascade="none". 我的问题是:我将级联设置为“无”,如果我向父级添加一个子#1,然后我保存父级,休眠可以向表 parenthaschildsTable 插入一条新记录,但不能级联子级?

0 投票
1 回答
138 浏览

nhibernate - Nhibernate 不更新 Win Server 2008 上的级联关系

我们使用 NHibernate 和 Fluent 映射来构建 WebForms 应用程序。

在我们的模型中,我们References与集合有一个简单的关系Cascade.All()。当我们保存实体时,NH 会按预期运行,并且 1) 保存引用的实体,2) 更新父实体设置子键。

但是,将相同版本部署到我们的生产服务器(Win Server 2008)并将应用程序指向相同的数据库会产生不同的输出。NH 1) 保存引用的实体,然后.. 就这样,没有其他事情发生!

我知道我们的测试和生产环境应该是相同的,等等等等。但是我们现在正在部署,我根本不知道这是怎么发生的。

Win 2008 Server 中的 NH 是否存在关于程序集权限或类似问题的任何已知问题?看起来代理由于某种原因无法正常工作,但我真的不知道为什么!

编辑 1:分析 NH 日志文件我发现 NH 没有注意到 Win Server 2008 中引用的属性发生了变化。为什么?不知道,但它看起来越来越像代理问题。

非常感谢任何帮助。

菲利普

0 投票
1 回答
896 浏览

join - Fluent NHibernate 连接引用忽略级联规则

我正在使用 Fluent NHibernate 试图提高使用旧数据库的 Web 应用程序的可测试性和可维护性,但我在正确映射此结构时遇到了一些麻烦:

我有两个表,它们真正代表域中的一个实体,因此我使用连接来映射它们,第三个表代表第二个实体。

数据库表:

实体:

映射:

这适用于我的 Gets,但是当我修改 Account.ReportType.Number 和 SaveOrUpdate() Account 时,我收到错误消息:“DataTest.Model.ReportType 实例的标识符已从 (old_value) 更改为 (new_value)” .

我要做的就是修改 Account 对 ReportType 的引用,我认为通过在 ReportType 的引用上设置 Cascade.None() 属性,NHibernate 也不会尝试保存 ReportType 实例,但我一定是误解了作品。我试过制作 ReportType ReadOnly(),引用 ReportType ReadOnly() 等,但似乎没有任何帮助。

有任何想法吗?

0 投票
1 回答
720 浏览

nhibernate - nhibernate(或休眠)条件级联

我有一个用户类,它有一个属性事件,它有很多会话。基本上,用户注册一个有很多会话时间的事件。

用户可以注册一个活动,但会议时间纯粹是提供信息。

但是当我使用 NH 将用户写入数据库时​​,它也会更新会话时间。我如何防止这种情况发生,因为我知道在创建/更新事件时仍然需要插入/更新会话时间。

0 投票
4 回答
7333 浏览

asp.net - NHibernate 一对多删除不级联

我有一个“照片”课程和一个“评论”课程。一张照片可以有多个评论分配给它。

我在我的 HBM 映射文件中将此配置为一对多关系,并针对 Photo.hbm.xml 映射文件中的“评论”包设置了 cascade="all-delete-orphan"。

但是,如果我尝试删除具有 1 个或多个相关评论的照片,我会收到“DELETE 语句与 REFERENCE 约束“FK_Comments_Photos”冲突”

我针对 Photo.hbm.xml 中的 Comments 包尝试了其他几个级联选项,但无论我将其设置为什么,我每次都会得到相同的结果。我只想能够删除照片并自动删除任何相关的评论。

这是我的照片映射(为简洁而编辑):

这是我的评论映射(为简洁而编辑):

当我尝试删除带有相关评论的照片时,是否有人对为什么没有发生级联有任何建议?

更新:我可以让级联发生的唯一方法是在 SQL Server 中针对这种与“级联”的关系配置“删除规则”,这样做意味着我不需要在我的 NHibernate 中指定任何级联操作映射。然而,这对我来说并不理想——我希望能够在理想情况下配置 NHibernate 映射中的级联行为,所以我仍然很困惑为什么它似乎没有注意到我的 NHibernate级联设置?