问题标签 [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.

0 投票
1 回答
593 浏览

.net - ADO.NET 实体框架和连接的子类

你能在 Entity Framework 版本 1 中做一个 Joined Subclass 吗?你如何处理这个问题?

加入子类:
http ://www.xylax.net/hibernate/joinedsubclass.html
http://www.redhat.com/docs/manuals/jboss/jboss-eap-4.2/doc/hibernate/Hibernate_Reference_Guide/Mapping_declaration-joined_subclass。 html

0 投票
1 回答
2575 浏览

hibernate - jpa如何创建与父实体具有相同ID的新实体(JOINED继承)

我的问题与更改保留其 ID 的实体的类型非常相似,但我使用的是 InheritanceType.JOINED 而不是 Table_per_class。

这意味着我不更改任何表,只是创建一个新的子类,其 id 与超类相同。

总而言之,我有一个 Person 类和一个 Doctor,它扩展了 Person 并具有相同的 id。我需要从数据库中检索一个 Person 并将其设置为 Doctor,保留 Person 实体中的所有数据,但为 Doctor 创建一些额外的数据。

尝试合并医生会生成一个新 ID,这对我无效。

这是我首先尝试过的


0 投票
1 回答
2975 浏览

nhibernate - 连接子类问题的 NHibernate 子类

我有一个应用程序,它有一个核心程序集,其中包含我需要继承的基类。我需要将它们保存到数据库中,并且在阅读了 NHibernate 之后决定使用它。

但是,我的一个新继承类有问题。我已经设置了子类映射,但是当我保存时,它既不会尝试保存它的任何基类属性,也不会尝试保存我在映射中分配的任何新属性!

我的课程布局如下:(来自一个小型演示应用程序)

核心组件 DataItem -> 用户

任何会触及数据库的东西都会继承 DataItem 类,因为它会处理 id、修改日期等。

在我的测试中,我将用户设置为只有一个名字..

如果我保存一个新用户,它会很好用..但是当我从用户继承然后添加另一个名为 LastName 的属性并尝试保存这个新对象时..它只会将 INSERT INTO t_User (id) VALUES(? ).. 它不会尝试保存名字或姓氏.. 尽管两者都已设置并已映射。

我的 nhibernate.config:

如您所见,我有 2 个程序集。我的 DAL 是我的核心,而 NHibernateDemo 是一个使用核心进行继承的 Web 应用程序。

我的核心 DataItem 映射:

我继承的 NewUser 映射不起作用!:

为什么当我尝试保存我的类 NewUser 时它没有尝试保存任何其他属性集,无论是从它的基础属性还是新声明的属性?

我真的很感谢对此的任何帮助或洞察力。我一定错过了一些非常简单的东西,我只是看不到它。

谢谢,

麦克风

0 投票
1 回答
1233 浏览

nhibernate - NHibernate 搜索特定子类

是否可以在 NHibernate 中过滤特定的连接子类?

例如,我有以下课程:

我想创建一个 NHibernate 搜索来给我有 4 只爪子的猫。

我似乎只能限制宠物的属性(名称)......

0 投票
3 回答
580 浏览

c# - NHibernate 基于父类 ID 缓存对象

我对 Animal 和 Dog 类型有以下定义。请注意,对象的 ID 是 AnimalID:

假设我的数据库中有以下信息:

首先,我查询 OwnerID = 1 的 Dog。在同一个会话中,我查询 OwnerID = 2 的 Dog。由于 NHibernate 的 Session 缓存,第二个查询返回了 OwnerID = 1 且 IsStrong = True 的 Dog 对象,其中它应该返回一个 Dog 对象,其中 OwnerID = 2 且 IsStrong = False。

NHibernate 自动通过 ID(主键)列缓存对象,因此第二次请求 Dog 最终会检索到具有相同键的对象。我可以通过在对象上调用 ISession.Evict() 来解决这个问题,但这似乎是一个 hack。

有更好的建议吗?

0 投票
1 回答
913 浏览

java - 当键在父类中时,如何将一对多集合映射到连接的子类

我想将一对多的集合映射到子类,但集合的键是父类的属性。

目前我正在像这样映射 AbstractFoo Foo 和 Bar 类:

实际上,当我使用该映射时,Hibernate 试图在表 foo 上找到列 bar_fk 而不是 abstractFoo。

有没有办法做这样的事情?

0 投票
1 回答
741 浏览

nhibernate - 如何在 NHibernate SqlQuery 中生成子类连接?

我在让 NHibernate 生成一个实际运行没有错误的 SQL 查询时遇到问题,因为该查询缺少我的子类的连接。

让我们举这个最小的例子:

现在,想象一个直接的字段对字段、连接子类的映射到数据库。我想出了这个查询来查找路径 /page/page2/page3 上的所有页面:

现在,这在运行查询时似乎可以正常工作。让我们尝试使用 SqlQuery 生成它(简化,仅显示第一部分):

这会生成以下查询:

但是这个查询包含 SQL 错误,因为 NHibernate 试图获取只有在 NHibernate 还为子类 ContentPage 添加连接之后才可用的字段。是否可以在不依赖 NHibernate 恰好使用的特定命名样式的情况下以某种方式添加这些连接(即,手动生成必要的连接)?

0 投票
1 回答
1684 浏览

c# - NHibernate - 使用标准查询检索特定列和计数

这是我的映射文件:

这是另一个加入子类

如何使用条件进行此查询?

非常感谢!

非常感谢!它解决了我的部分问题。我这样做了:

我使用 Transformer 来制作Contacto实体集合,但问题出在 propertyApellido上。我在子类 Persona 中有它,并且该集合仅由父类而不是子类组成。

你知道是否有可能解决这个问题?或者我唯一的解决方案是在不使用转换器的情况下抛出每个集合项并创建一个新的 Contacto 实体集合来创建每个新对象?

谢谢!!!

0 投票
2 回答
2638 浏览

java - 具有外键关系的休眠子类

我需要一些帮助在 Hibernate 中定义以下对象层次结构/数据库关系

从对象意义上——Agent 是从 Person 继承的,Agency 是从 Organization 继承的。它们是从 Party 继承的,它可以有多个与之关联的地址

替代文字

该数据库包括

pre>机构 -ID -姓名 -PartyID(引用Party.ID) pre>聚会。 -派对ID

0 投票
2 回答
1453 浏览

c# - NHibernate 多对一连接子类与过滤器

我有一个看起来像这样的类设置:

Child 被映射为 Parent 的连接子类。Childen 被映射为多对一包。该袋子应用了一个名为 SoftDeletableFilter 的过滤器。过滤器映射如下所示:

这个问题是,当加载 Other.Children 时,过滤器被应用于子表而不是父表。有没有办法告诉 NHibernate 将过滤器应用于父类?

编辑:这是父映射: