问题标签 [many-to-one]

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 投票
2 回答
2435 浏览

python - SQLAlchemy 中的多对一关系

这是一个初学者级别的问题。

我有一个 mtypes 目录:

和一个对象目录,它必须有一个关联的 mtype:

我试图通过创建以下模式在 SQLAlchemy 中做到这一点:

当我尝试添加一个简单的元素时:

我得到错误:

有任何想法吗?

0 投票
2 回答
3176 浏览

java - @ManyToOne 的两个实体应该加入同一个表

我有以下实体

学生

老师

任务

考虑到author并且curator已经存储在数据库中并且两者都处于附加状态。我正在努力坚持我的Task

Hibernate 执行以下 SQL:

这当然会导致null value in column "student_id" violates not-null constraint

谁能解释这个问题以及解决它的可能方法?

更新

请参阅下面我自己的解决方案。

0 投票
1 回答
1381 浏览

c# - Nhibernate 一对多延迟加载无法按预期工作

考虑以下场景:

A 类与 B 类具有一对多关系。B 类与 C 类具有多对一关系。

如果我使用类似的东西从数据库中加载 B 类

一切都按预期工作,

但是,如果我这样做:

然后,NHibernate 也会从表 C 中选择并加载所有 C。

下面的映射:一个映射...

B 映射...

有任何想法吗?谢谢。

0 投票
1 回答
724 浏览

hibernate - 带有加密字段的 ManyToOne 引用给出了使用 Jasypt 时不存在的错误

我对以下情况有疑问:

在我的 Spring,Hibernate 应用程序中,我得到了一个 User Entity 和一个 UserCategory Entity。用户实体的表有一个用户名作为标识符。此标识符字段无法加密,因为此表也被旧程序使用,无法执行此操作。

要从 UserCategory 对 User 进行 ManyToOne 引用,我需要 UserCategory 表中的一个字段,其中包含用户的唯一用户名。我想要做的是使用 Jasypt 加密 UserCategory 表中的用户名。当然,这项工作:

但是在将加密的用户名放入 UserCategory 表后,我无法使用此记录,因为 Hibernate 无法在加密字段上引用用户:您将收到以下错误:

这是一个逻辑错误,但你知道一个好的解决方案吗?认为代码需要先解密然后尝试进行引用。但我坚持如何做到这一点。

0 投票
2 回答
3773 浏览

activerecord - AR模型中的关系函数,多对一关系

所以这是场景:

我有两个表,问题和项目。

一个项目可以有多个问题,一个问题可以恰好是一个项目。

由于Issue是多对一的,你必须定义它吗?

因为我知道在项目模型中我有:

对于问题模型,我只有外键:

我猜任何关系都不需要定义?

先感谢您。

顺便说一句,我正在写敏捷 Yii 书,最后我问了自己这个问题。AR 类中有一个独一选项(http://www.yiiframework.com/doc/guide/database.arr)。

但是由于某种原因,这种情况是可选的吗?

0 投票
2 回答
12861 浏览

java - 如何处理 JPA 多对一关系?

我正在设计一个收集天气数据的应用程序。我有 2 个 POJO 对象“位置”和“记录”。Location 包含有关纬度和经度以及当前天气状况的信息,Record 包含特定位置随时间推移的所有天气信息,因此与 Location 具有多对一的关系。我拥有的类的定义如下:

位置.java

和 Record.java

我传入的数据形式为:

现在每当我得到一条记录时,我都想将它插入到记录表中。由于我有 Location 的外键,我还将添加 Location 表的 locationId。另一件事,位置表没有预先填充。因此,每当有新记录出现时,我首先将其插入 Location 表中,然后使用外键填充 Record 表。而且我不想在位置表中重复位置条目。如您所见,位置表还将包含最新的温度、风速和风向数据。

我正在使用以下代码来实现这一点:

但是通过这样做,正在发生的事情是位置正在被复制。这意味着我在位置表中有多个相同经度和纬度但温度、风速数据不同的条目。我想要完成的是一个纬度和经度的单一条目,并使用最新数据更新风速、温度和风向字段。

请帮忙!

0 投票
2 回答
576 浏览

hibernate - hibernate ManyToOne 为什么会生成 2 个查询而不是 1 个?

MyTable 是我的 Oracle DB 中的一个表,它有一个 CMP_ID 来加入 COMPANIES 表。

这是Java实现:

在我的 JSP 页面中,我设法显示了 MyTable:

但是 Hibernate 生成了 2 个 SELECT :一个用于 MyObject ,另一个用于验证公司名称。

如何使用 Hibernate 仅在一个查询中获取我想要的所有信息?(MyTable 中的所有字段,以及 Companies 表中的公司名称)

谢谢你

0 投票
1 回答
433 浏览

fluent-nhibernate - 我如何使用流利的 nhibernate 自动映射多对一关系

我有以下课程:

我如何在流利的 nhibernate 中自动映射这些类。

0 投票
2 回答
205 浏览

fluent-nhibernate - 在fluent-nhibernate中,保存一个多对一的实体,为什么我应该给引用的实体一个版本

我有以下实体:

我正在使用流利的nhibernate中的自动映射。当我尝试像这样保存 TransferOrder 时:

但是在数据库中,TransferOrder 表中的workerID 为NULL???但是当我给工人一个版本时,它会正常保存吗?

请注意,只要不为 0,为工作人员提供的版本号并不重要。我在数据库中保存了一个工作人员 ID = 1 的工作人员。

我该如何处理?为什么我应该给工人一个版本???是 nhibernate 确保工人被保存?为什么它应该这样做?

0 投票
1 回答
2017 浏览

nhibernate - NHibernate:复合键多对一映射:无法解析属性(外键组件)

我希望任何人都可以提供帮助。我必须针对这个第三方数据库进行开发,我有点被他们蹩脚的设计所困扰。不过,我想使用 NHibernate,所以我将不得不跳过箍。

简而言之,这个“事件”表与“运输”表有关系。运输表有一个由字段“ID”和“FK_EventID”组成的复合主键,后者当然是指回事件记录。每个事件都指向运输表中的一个不同的记录,因此它实际上是一对一的关系。这两个字段都是Guids BTW。

尝试将其映射出来,这就是我创建类的方式(为简单起见,省略了其他数据字段):

和:

在映射文件中,我正在尝试这样做(请注意,我使用的是多对一):

和:

当我尝试运行它时,我收到以下异常消息:

NHibernate.QueryException:无法解析属性:FK_TransportationID:FcoLib.FcoEvent

我的第一个预感是字段名称可能存在拼写错误,但这并不成立。所以现在我完全感到困惑,不知道如何进行。任何帮助是极大的赞赏。谢谢。


更新

我想我找到了错误的根源。我还没有看过那里,因为我认为这是一个映射错误,但显然它是一个查询错误。它发生在我进行查询的地方:

我会进一步研究这个,但显然我需要以不同的方式查询这个......