问题标签 [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 - NHibernate: JoinedSubclass, HasMany
我使用 FluentNHibernate (Automapping) 进行映射,使用 NHibernate 3.2 进行数据访问,使用 SchemaExport 生成我的数据库。
我有一个类,它是andPrincipal
的基类。
有一个类型的属性。
有 2 套:和。User
Usergroup
Principal
CommonThing
CommonThing
CommonThing
ManagedUsers
ManagedUsergroups
现在CommonThingId
为Principals
-table (OK)、- Users
table (WRONG)、- Usergroups
table (WRONG) 生成一列。
如何让 FluentNHibernate只生成 -table 中的列Principals
而不是子类表?
编辑:类和映射主要:
用户:
用户组:
共同点:
约定:
主映射:
CommonThing 映射:
华拉巴
nhibernate - 使用 NHibernate 从加入子类加载基类中的集合
我有一个具有一些属性和一组名称的类,如下所示:
然后我有一个 B 类,它像这样扩展 A 类:
A 和 B 在它们的主键上链接。B 类在 A 类的映射文件中被映射为一个连接子类,如下所示:
现在,如果我想使用 Criteria 检索 A 的记录,它可以正常工作并加载名称集合。但是,如果我想检索子类 B 的记录,则不会加载名称集合(在基类 A 上)。
然后我尝试添加一个 CreateCriteria 来映射集合:
它会产生以下 SQL:
因此,它试图将具有名称的表链接到子类表 B 的主键,而不是基表 A 的外键。它应该是:
问题是:是否有可能使 NHibernate 使用 ICriteria 语句从子类加载基类上的集合?
谢谢,
马丁范德林登。
nhibernate - 流利的 NHibernate 尝试使用每个子类的表来映射子类的子类
我正在构建一个具有大量继承的应用程序,并且有一部分存在类 A、B 和 C:
A级
B类:A
C类:B
我将子类映射实现为 B 类的每个子类的表样式,如下所示:
效果很好。但是,当我想按如下方式实现 C 时:
它导致错误
我浏览了 Hibernate/NHibernate 论坛,但找不到这个问题的答案。
fluent-nhibernate - Fluent NHibernate automapping table-per-abstract-hierarchy / table-per-concrete-subclass
我有课
因此,我想要以下表格。我已经尝试过实现大量不同的 IConventions,但即使是层次映射(table-per-abstract-hierarchy / table-per-concrete-subclass)似乎也失败了。
我已经有丑陋的,工作流畅的映射,但我想摆脱一些丑陋
如何使用自动映射获得相同的结果?
nhibernate - NHibernate 多个连接子类并使用条件重复列名
假设我们有这个实体结构:
在基类 Document 中,我们有字段Id、Name、CreateDate。在加入的子类 DocumentA 中,我们有字段Book,Pages。在 DocumentB 中,我们有Magazine、Pages。
所以问题是当我尝试使用标准获取记录时:
因此,如果我们在selectColumns中有两个Pages列,NHibernate 只会从第一个中选择数据。事实上,它甚至会生成这样的 SQL 查询
有谁知道如何使用 Criteria 解决我的问题?顺便说一句,我没有选择更改此结构的选项,在此系统中,用户可以定义自己的类和嵌套类。
inheritance - 将 Framework 2 Ebean 和 InheritanceType 播放为已加入
在对谷歌进行了一些研究之后,我没有找到任何有我的问题的人,这就是我在这里发布它的原因。在我的应用程序中,我有三个实体:用户(抽象)、客户、代理。客户和代理商扩展了用户。这是用户的代码:
问题是生成的模式只创建一个包含用户、客户和代理字段的表,这通常是 InheritanceType.SINGLE_TABLE(默认)的行为。
使用 Ebean 和 @Inheritance 注释有什么问题吗?我尝试了 InheritanceType.TABLE_PER_CLASS,它也不起作用。我在使用 JPA 时从未遇到过这个问题。任何人都可以帮忙吗?
非常感谢 ;)
hibernate - How do I access superclass properties in a Hibernate criteria
I'm using basic table-per-class polymorphism in Hibernate. So I have:
So, basically I have a bunch of subclasses, each of which is holding some subclass specific data. I have a key, but I also need a compound unique constraint on a couple of other properties.
If a create a criteria:
I get a stack dump caused by: Invalid column name 'one'.
If I create the criteria based on SuperClass.class it works, but a need to add restrictions that apply to both the superclass and the subclass (and this code is actually buried under a whole lot of other stuff).
I can get to the key, but it is declared in both places. Can I not access the global properties from the subclass in a criteria? Do I need to declare them somehow? Or some type of cast?
nhibernate - 在 HQL-Query 的 where-condition 中使用类
我有一个实体联系人,它有三个加入的子类(个人、公司、分支机构)。当我对联系人进行选择查询时,我应该只获取人员、公司或分支机构的信息,我可以这样做
从 Contact a 中选择 a.class = Person
这在人员和分支的情况下是正确的。但是因为 Branch 自己引用的是 Company(使用 CompanyId),而当我现在这样做时
从 Contact a 中选择 a.class = Company
它将用 CompanyId(来自分支实体)替换 Company。
有人有想法吗,我如何防止 HQL 用真实列替换类值?
dictionary - 尝试在子类实体中使用 TreeMap
我找到了关于映射超类的子类化的帮助,并且我找到了关于如何映射 TreeMap 的帮助。但是,我根本找不到在子类中使用 TreeMap 的任何内容。情况如下:我正在向一个长期存在的应用程序添加一个功能。该应用程序已映射实体,其中一组实体形成层次结构。有一个,例如,它建立基类。然后有许多许多子类使用元素来映射各个子类。子类都使用元素来引用包含子类属性的附加表。这已经工作了好几年,生活似乎还不错。
现在我的工作开始了,我需要在我的新子类实体中使用 TreeMap(与所有其他实体扩展相同的基类),所以我要做的第一件事是尝试以与其他子类相同的方式映射它,使用一个里面一个。
简而言之,当我启动应用程序并且 Hibernate 开始映射时,我遇到了一个错误。研究这个错误让我查看了休眠映射文件的 DTD,你猜怎么着?根据我的解释,不能在 .
同样的研究让我了解了哪个可以包含地图。所以,我去配置一个内部基类映射。
当我这样做时,我遇到了奇怪的错误,引用了我什至在代码、映射中都找不到的符号……任何地方!更多的研究,我在 Hibernate 参考手册第 9 章中找到了一个参考,它说 Hibernate 不支持和元素的混合。所以这也做不到。
我的问题是:有没有我一直错过的解决方案?从事物的声音看来,如果您正在使用,您似乎不能在子类中配置地图,因为内部它不会占用地图......而且,虽然可以在 a 中配置 Map ,但我怀疑我可以在这里收集很多支持,以涉水通过当前映射文件并将所有实体重新映射为实体。
有人有什么想法吗?如果我看的不对,相信我,我愿意接受并学习!
java - 带有子瞬态 getter 和 setter 的 Hibernate 加入子类
我正在尝试在现有结构中添加休眠继承。所以,我需要添加应该概括 3 个实体的父类。问题是现在我需要从子级获取 HQL 中的继承字段。像这样的东西:
当我尝试执行 HQL 时,最后使用此代码
我有一个 SQL 错误,上面写着“未知列 childs.id”
怎么了?