问题标签 [composite-key]

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 回答
1197 浏览

hibernate - Hibernate 使用复合键和非主属性的一对一映射

所以这是我的问题。我有这两张表,它们自己映射得很好。我删除了一些附加字段,因为它们无关紧要。我需要在 Item 和 ItemAdminScrtyGrp 之间为项目的所有者进行一对一的映射。我已经包含了用于获取项目所有者的 SQL。更改数据库架构不是一种选择。有什么想法可以将复合键的一部分和映射的非主属性结合起来吗?

休眠映射

SQL

感谢您的任何帮助,您可以提供。

0 投票
1 回答
1636 浏览

fluent-nhibernate - Fluent NHibernate 在复合键上插入后进行更新

我正在使用 Fluent NHibernate 来映射复合键。我需要子实体在创建父实体时接收新插入的父密钥。这可行,但 NHibernate 正在对子项进行插入,然后对子项上的一个复合键 ID 进行更新。

实体关系如下:

1) Model (parent) - 有很多 FactorWeights。
2) FactorWeight (child) 有一个 Factor。
3) 每个模型的因素可以有不同的权重。

由于模型有许多因子,并且因子可以对不同的模型具有不同的权重,因此需要因子权重实体与模型ID 和因子ID 的复合键。

模型:

因素:

因素权重:

映射如下:

模型:

因子权重

我使用以下代码在 Model 对象中创建 FactorWeight:

以下用于持久化实体(将模型传递给方法):

模型实体和 FactorWeight 都被正确保存。问题是 SQL Profiler 在插入后立即显示 FactorWeight.ModelID 列的更新。NHibernate 使用插入中已经存在的新插入的 ModelID 更新 FactorWeight.ModelID。

SQL Profiler 跟踪:

我认为这是复合键映射的问题。

我正在使用 NHibernate 的 2.1.2.400 版和 FluentNHibernate 的 1.1.0.685 版。

谢谢你。

0 投票
2 回答
1352 浏览

sql - 复合数据库索引

我正在寻求确认我对数据库中的复合索引的理解——特别是与 SQL Server 2008 R2 相关的情况,如果这会有所不同的话。

我想我理解索引列的顺序是至关重要的,因为如果我有一个索引{ [Name], [Date] },那么基于 [Date] 的 WHERE 子句的 SELECT 将无法使用索引,但是索引的{ [Date], [Name] }意愿。如果 SELECT 基于两列,则任一索引都可用。

那正确吗?在每列上使用两个索引(即{ [Date] }{ [Name] }),使用这样的复合索引有什么好处。

谢谢!

0 投票
3 回答
58170 浏览

java - 如何使用嵌入式 id 编写 JPQL SELECT?

我正在使用 Toplink Essentials (JPA) + GlassFish v3 + NetBean 6.9

我有一张带有复合主键的表:

我为实体本身创建了 2 个实体类,第二个是 PK 类。

现在..我如何用 WHERE 用 JPQL 编写 SELECT 子句???

这失败了。

http://www.mail-archive.com/users@openjpa.apache.org/msg03073.html

根据网页,添加“val”?不,它也失败了。

在这两种情况下,错误都是:

0 投票
3 回答
8607 浏览

python - 如何使用复合键查询 couchdb 视图?

我有一个具有以下定义的 couchdb 视图“record_by_date_product”:

我正在尝试运行类似于以下内容的查询:

这种观点有可能吗?

我也在使用 couchdb python 库来访问 couchdb。这是一个代码片段:

此页面http://packages.python.org/CouchDB/client.html#viewresults指定我们可以使用 startkey 和 endkey。但我无法让它工作。

谢谢

0 投票
0 回答
1841 浏览

hibernate - Hibernate JPA 复合密钥自动生成选项

我正在为具有以下域对象的群聊制作一个项目。我想要的是 CommentPK 的 orderId 相对于提供的 groupId 自动递增。如果我使用像 GenerationType.Table, pkColumnName="max_id_name", pkColumnValue="max_comment_id", valueColumnName="max_id" 这样的方法,那么 orderId 将是全局唯一的,这也将限制系统作为键“max_comment_id”支持的最大评论数"是一个常数。相反,我想使用可以从提供的 groupId 派生的 pkColumnValue,例如。假设组 1 的键是 max_comment_group_1,组 2 的键是“max_comment_group_2”。我只想为此使用 JPA 规范,以便我可以为 @TableGenerator 中的 pkColumnValue 字段提供变量值。

提前致谢。

0 投票
2 回答
1406 浏览

sql-server-2005 - 您如何针对复合键为“where in”子句编写 sql 语句?

使用 MSSQL 2005 我习惯于编写这样的语句:

otherTable当有复合主键时,我该怎么做?

复合键有两列:

(我的 google-fu 建议使用 CTE 来执行此操作,但我没有使用它们的经验。)

0 投票
2 回答
7043 浏览

java - JPA 2 - 仅包含复合主键中的一个字段的外键?

我无法让复合主键和外键在 JPA 2/Hibernate 中工作。我正在尝试创建一个包含国家和省份的简单场景:

国家实体:

省份主键:

省实体:

这为我创建了正确的表,但有一个例外:

国家表:

  1. 代码PK
  2. ...

省份表

  1. code PK FK -这是问题在于它创建对国家表的代码列的外键引用
  2. country_code FK这是我想要的唯一外键参考
  3. ...

如何映射我的实体/复合键以用于休眠以生成我想要的模式?现在我无法将任何数据插入省,因为它期望该国家包含省代码!

谢谢你的帮助。

0 投票
2 回答
603 浏览

oracle - Hibernate 复合表和关键问题

我正在尝试让 hibernate 使用复合表。基本上有一个用户表、角色表和一个名为 userroles 的组合表,它们将两者连接起来。我从获得具有角色的用户中得到的查询急切地输出以下内容。我不断收到 stackoverflow 错误或 null 异常。我的问题是为什么这些列会在 Oracle 中产生两个 userid 和 roleid 输出?

我的课在下面。

用户.java

角色.java

用户角色.java

获取数据的调用是

}

0 投票
1 回答
4199 浏览

sql-server - 数据库设计 - 复合键关系问题

我之前发布了一个类似的问题,但这更具体。请看下图: 数据库表设计问题 这个设计的解释如下:

  • 面包师生产许多产品
  • 同一产品可以由多个面包师生产
  • 面包师会不时更改某些(他们的)产品的定价
  • 可以创建订单,但不一定最终确定

此处的目的是允许商店经理根据所需的任何商品创建订单“购物篮”,并允许正在创建的系统根据订单中包含的产品确定当时的最佳价格。

因此,我设想该ProductOrders表最初保存productIDand 相关联orderID,同时保持 and 的空(未确定)值bakerIDpricingDate因为这将由系统确定和更新,然后构成最终订单。

既然你已经知道我想要做什么,请告诉我如何最好地建立这些关系。

谢谢!