问题标签 [joined-subclass]
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.
nhibernate - Fluent Nhibernate 1.0 - 在类和连接子类之间指定外键约束名称
我认为这应该很简单,但我不知道该怎么做。假设我有以下地图:
正如我所料,它创建了表格:
如前所述,FK 由 db 生成并最终为 FK3500ABA0D。我想要做的就是设置该约束的名称,但我找不到如何通过 Fluent NHibernate(或者实际上甚至是普通的 NHibernate,就此而言)。
那么,我错过了什么?
c# - Fluent nHibernate - DiscriminateSubClassesOnColumn 与多个表?
几天来,我一直试图围绕子类和在 Fluent nHibernate 中加入子类而没有取得任何进展。我查看了 wiki,但它似乎没有给我足够的信息,并且谷歌搜索返回了使用折旧代码或看似无关的旧结果。
如果可能的话,我只想要一个简单的例子
我有四个看起来像这样的表:
所以 Animal 表有一个引用 AnimalType 表的 FK,一个只包含 1 个 Id 的查找表,作为测试,
1 = 爬行动物
这个想法是 AnimalTypeId 列是我的区分我的子类的鉴别器列,并且每个动物表(爬行动物)都有 FK 主键,它们根据 AnimalTypeId 从 Animal 表中引用 Id。
所以我的 C# 类看起来像这样
如何将其映射为每个表的子类?
这是我当前的映射。
它几乎可以工作,只是似乎没有发现子类来自不同的表。HBM 映射如下。
编辑:之前存在重复实体的问题。解决方案在下一条评论中链接。
nhibernate - 简单的连接子类示例尝试更新基表的标识列
我必须在概念中遗漏一些非常重要的东西才能得到这个错误,所以任何帮助表示赞赏。
我得到----> System.Data.SqlClient.SqlException:无法更新标识列'ProductID'。
当我运行这个
负载正常工作,我可以检查所有属性,但更新失败。
这是映射文件
.net - Fluent NHibernate JoinedSubClass 已过时
我想知道一些事情。我坐在这里有一个解决方案,我有 1 个具有 2 个子类的超类,我目前正在使用 JoinedSubClass 映射它,但我知道这个方法已经过时,并说我应该使用 ClassMap 和 SubClassMap,但如果我这样做AutoMapping 不起作用,我不希望这样。有什么解决方法吗?
这是层次结构:
正如您可能已经发现的那样,我希望这是一个每个层次结构映射的表,其中包含具有多对多列表的子类。就像一个表'Tag',然后是 Tag_Respondent 和 Tag_Archive(用于多对多关系)。
这是我目前正在使用的映射:
有谁知道解决此问题的解决方法或其他解决方案?(不禁用自动映射)
任何答案将不胜感激。
提前致谢!
fluent-nhibernate - FluentNHibernate中使用SubClass时如何在子类表中指定PK的名称?
我正在尝试在 Fluent NHibernate 中进行子类映射。
在父类映射中,我要指定ID列名,防止FNH猜错:
我还需要在子类映射中指定 ID(或外键,如果你愿意)字段名称,因为 FNH 也猜错了。我怎么做?
nhibernate - 如何在 Fluent NHibernate 中建模此对象层次结构而不违反 DDD 原则?
我正在尝试构建一个允许我管理合同的域模型。
Contract 类是我的聚合根,它现在只有一个属性,即 Reviewers。
审阅者,在合同的上下文中,每个人都有其父合同的属性,以及名字、姓氏和登录名。他们拥有这些属性的原因是我可以让用户在合同中选择他们想要的审阅者。
我将域模型绑定到的数据库已经存在,并且它是我正在尝试扩展的遗留系统。
它有一个合同表和一个审阅者表。
到目前为止我还没有提到,审稿人实际上是系统中的用户。所以实际上涉及到第三个表,即用户。
我已经能够使用 FNH 轻松映射我的合同表。
它看起来像这样:
但我不确定如何为我的评论者建模,因为他们实际上也是用户。所以我的对象模型如下所示:
我已经能够正确映射我的 User 类,它看起来像这样:
我相信我想像这样映射我的 Reviewer 类:
所以我遇到的问题是:
User 表和 Reviewer 表之间的关系是一对多的。这意味着,对于给定的用户,可能有许多 Reviewer 记录。为什么?因为用户必须是特定合同的审阅者。但是,这会导致映射出现问题,因为我的 Reviewer 的主键和我的 User 的主键是完全不同的值,这是必要的。
此外,由于我使用 Reviewer 的方式,当我创建一个新的 Reviewer 时,我真正想做的是将用户与合同相关联。我不想在数据库中创建一个全新的用户。
知道在我的域模型中它是 User 的子类,我映射 Reviewer 的正确方法是什么?
inheritance - 具有多个非键列的继承连接策略
我有两个类Foo
并Bar
映射到两个不同的表,我希望它们使用JOINED
继承策略,但使用两个非键列连接。架构很奇怪,但我坚持下去。这是我的设置:
我不确定@Inheritance 如何决定使用哪个列来加入,但我假设默认情况下它使用主键。我想加入它们的不仅仅是主键以外的一列,而是两列,在这种情况下column1
和column2
.
我什至可能会以错误的方式解决这个问题。我将不胜感激任何帮助或建议。谢谢!
nhibernate - 在 NHibernate 中加入每个类层次结构的表的子类
我在 NHibernate 中使用每个子类映射继承的表。我有一个父Attribute
表和一个子AccountAttribute
表。子AccountAttribute
表中有另一个指向CustomerProfile
表的外键。表CustomerProfile
与表有零个或多个关系AccountAttribute
;这意味着我将AccountAttributes
在我的CustomerProfile
课堂上收集。
如何将CustomerProfile
表格AccountAttribute
映射到我的 NHibernate 映射中的表格,以便CustomerProfile
正确地为课程补充水分AccountAttributes
?
表
属性: Attribute_Id (PK)
AccountAttribute: AccountAttribute_Id(PK);Attribute_Id (FK);CustomerProfile_Id (FK)
CustomerProfile: CustomerProfile_Id (PK)
Attribute/AccountAttribute 层次结构的映射。
Account 对象的映射
谢谢,
凯尔
c# - 连接子类的 NHibernate 可区分子类
这是我的层次结构:
这是我在两个单独的 hbm 文件中的映射:
以下是我得到的异常:
MappingException:XML 验证错误:命名空间“urn:nhibernate-mapping-2.2”中的元素“joined-subclass”在命名空间“urn:nhibernate-mapping-2.2”中具有无效的子元素“鉴别器”。
我错过了什么?你不能映射一个连接子类的可区分子类层次结构吗?
java - Java 子类 $
我是 Java 新手,可能会问一个对某些人来说可能听起来很愚蠢的基本问题。
在我编译我的 Main Java 类之后,大多数子类在文件夹中显示为 $。我复制编译好的类并将其放在另一个位置执行。每次我对主类或其中一个子类进行更改时,我是否需要复制所有关联的子类?或者只是复制改变的就行了?
谢谢。缺口