问题标签 [jointable]
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.
jpa - JPA Join Not Cascading for jUnit Test
我用连接表定义的 2 个表之间存在多对多关系。
由于公司架构限制,连接表必须有一个 UUID 列。
我有一个名为 DAO 的方法associateItems
,它应该在连接列中插入一行。为了测试所有内容,我在 jUnit 测试中执行以下操作。
此测试在最后 2 行失败。
在我的 DAO 中,我尝试了很多事情。我尝试将classAItem
and添加classBItem
到彼此的列表中并合并它们。但这会导致错误,因为连接表对象没有 UUID。我尝试创建连接表对象并将其持久化。但随后测试的最后两行失败,因为它认为列表的大小为 0。
我一直坚持第二种解决方案(失败总比错误好)。
我知道连接表项正在插入到数据库中。我还手动输入了一个连接表项,并确保在找到关联时填充列表。所以测试只是在制作连接表项然后关联相关列表方面存在问题。
我尝试过处理级联、获取类型和刷新。但我似乎找不到让测试通过的方法。
有人知道我需要做什么来解决这个问题吗?
c# - 连接表上有额外列的多对多
嗨,我将如何建立这种关系?我已经有一个多对多的关系,但现在有了新功能,我需要在连接表中添加一个额外的列。
为了简单起见,我有一个用户类、产品类和用户产品类,今天它看起来像这样。
产品.hbm.xml
用户.hbm.xml
级联应该是什么样子?现在对于新功能,我创建了一个新类 UserProduct:
并创建了 UserProduct.hbm.xml
如果我之前使用过 user.Products.Add(product); 现在会是什么样子?我将如何映射用户和产品?如何更新现有记录?当我删除用户时,我想删除与产品而不是产品的关联。
新问题: 我有一个注册用户可以收集产品的页面。在这个页面上,我现在希望用户能够隐藏其中的一些产品。我有一个填充的网格视图和一个带有复选框的模板字段。如何更新我有“HideProduct”列的用户产品。我在一个按钮中有这个代码。
谢谢您的帮助!
ruby-on-rails - 如何遍历 has_many 集合并使用另一个模型设置 HABTM
我有很多 LineItems 的订单。LineItems has_many 潜在客户。在用户购买线索之前,线索不会与用户关联。该关联是通过 HABTM 关系和连接表 LeadsUsers 建立的。
用户购买潜在客户后,我需要设置关联。我有一个具有正确 HABTM 代码设置的 LeadsUsers 模型。在我的订单模型中,我有以下内容:
此方法失败:未定义的局部变量或方法“line_item”。我知道这意味着它不知道我指的是什么 line_item ......有什么想法吗?最终我希望能够引用 User.leads.all。
sql - 使用 Rails 中的连接表进行 SQL 连接
所以,我不确定为这些表进行连接的最佳方法是什么。我想使用 JOIN,因为我相信它比将所有三个表都放在 FROM 上要快。所以,如果我有三张桌子......
如何使用连接表对这些数据进行连接?
java - JPA 使用 @JOINTABLE 和额外的 @JOINCOLUMNs
我正在使用 JPA 从现有的 ERP 系统中提取数据。我正在使用(现有的)可连接的某些数据。问题是我还应该匹配不在连接表上的列,而是在源表本身上。
我当前的连接表条件是这样的:
这可行,但是如何/在哪里添加条件 T1.F1 = T3.F6?
hibernate - JPA/Hibernate @ManyToMany 不在连接表上创建索引
请考虑以下两个实体:
连接表PROFILE_TAG
创建得很好,但是没有创建索引,我希望 hibernate 会在连接表上创建一个复合索引。是什么赋予了?
mysql - 如何连接多个表,包括查找表并按行返回数据
我正在尝试显示一些简单的计算机游戏结果,并使其易于在我的代码中逐行遍历结果。我想要它,以便每场比赛的所有相关数据都在每条记录中,这样我就可以在一行上输出所有数据,例如:
- A队(45分)vs B队(55分),比赛时长:5分钟
- C队(60分)vs D队(65分),比赛时长:4.3分钟
因此,对于一场比赛,有两支球队互相比赛,他们各自在比赛结束时得分。基本上,每场比赛的 games_teams 表中最终都会有两行。
这是我的架构:
这是我的表格数据:
这是我想要实现的输出,因此我可以轻松地遍历结果并将它们输出到页面上:
我设法通过一些可怕的 SQL 和许多子查询来实现这一点,如下所示:
该方法的问题是它会很慢并且无法扩展。我还需要从 games_teams 表中提取其他游戏统计信息,这样就会有更多的子查询。
我尝试的另一种方法是:
我通过以下 SQL 实现了这一点:
现在这种方式将更难在代码中遍历,因为每个游戏的相关数据都在两个不同的记录中。我必须构建该行的第一部分,然后进入下一个循环迭代并打印下一部分。然后为下一场比赛重新开始,我试图在一行上显示所有信息,例如:
A队(45分)vs B队(55分),比赛时间:5分钟
所以这就是为什么我认为如果全部都在一张唱片上会更容易。有没有办法很好地完成这一点,所以如果我需要 games_teams 表中的更多列,它也可以扩展?
如果您需要重新创建它,这是一个包含数据库代码的 pastebin 链接。
非常感谢任何帮助,谢谢!
java - @JoinTable 使用导入键而不是主键
使用 JPA/Hibernate 3.6/DB2。
我有以下异常: 原因:org.hibernate.AnnotationException:SecondaryTable JoinColumn cannot reference a non primary key
造成的:
requestBatchID 不是主键,而是从 RequestBatch 表中导入的键(在那里,它确实是主键)。为什么 JoinTable 必须使用主键?我的意思是,我不是刚刚定义这是一个多对一关联吗?为什么它必须是主键?
指定:这是表格的样子。
想要的结果是 Hibernate 为我构建的这个 SQL 查询:
java - 使用连接表作为 JPA 的参数
在以下来自数据库的实体类中,如何编写查询以使用集合 productsCollection2 作为参数从表中选择并检索 productsCollection3。???我可以使用 productCollection2 并使用 IN 子句将列表传递给它进行选择。
java - Java 实体类:如何在具有连接列的实体中添加/编辑项目?
我已经阅读了几个关于这个以及 API 的主题,我觉得我在正确的轨道上;但是,我必须仍然没有足够的理解来让它工作,因为..它不起作用!
我有以下 2 个表:TODO 和 JOBTYPE
TODO 表有 TDTDKEY (PK) 和 TDJTKEY(FK?) JOBTYPE 表有 JTJTKEY (PK) 和 JTCODE
如您所见,Todo.tdjtkey 对应于 jobtype.jtjtkey,我的目标是检索 jtcode 而不是密钥。
实体类部分看起来像这样:
Todo.java
JobType.java
因此,当我对其进行命名查询时,Todo.findAll
它会给我 TDTDKEY(即 TD00000001)和相关的 TDJTKEY CODE(即 PICS PGM)。
现在,既然我终于让我的选择工作了,我正在尝试看看如何添加/编辑。
例如,如果我在 TD00000001 上并且我想将 PROG 更改为 SUPPORT。
如果我尝试它的正常方式sv.setJobType(txtJobType.getText());
不起作用并给我:
所以这对我来说或多或少是可以理解的,但我对如何对 Todo 表执行更新一无所知?不知何故,我需要它在 JobType.java 中找到 SUPPORT,然后获取它的 JTJTKEY 并将其作为新的 TDJTKEY 放在 Todo.java 中?
任何帮助/提示表示赞赏!
编辑:以下代码按答案工作!谢谢!
我的实体类现在看起来像这样
Todo.java
JobType.java
当然,我必须添加适当的删除和添加方法。