问题标签 [composite-primary-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.
nhibernate - NHibernate 3.2 符合复合 id
我正在升级到 NHibernate 3.2。我使用的是 Fluent NHibernate,但我没有看到 NH 3.2 的新版本。我正在考虑使用包含的 Conform 映射器,但它似乎不允许使用复合 ID。我无法更改数据库,所以我有一个约束。
在 Fluent NHibernate 中,我有这个(名称更改仅为示例):
我将如何使用 NH 3.2 中的 Conform 执行此操作?
谢谢,保罗
performance - 在 Hibernate 中使用复合 ID 是否存在任何性能问题?
有没有人知道在使用复合 ID 时有任何性能问题,无论是Hibernate@EmbeddedId
还是?@IdClass
谢谢。
mysql - 如何将 Django 与具有复合主键的旧式只读数据库表一起使用?
我想将 Django 用于具有旧数据库的客户端项目。如果可能的话,我希望能够使用 Django 管理界面。但是,数据库有带有多列主键的表,我看到 Django 不喜欢 - 管理界面抛出 MultipleObjectsReturned 异常。
这里有哪些选择?我可以添加新表,但我不能更改现有表,因为其他项目已经在向数据库添加数据。我已经看到其他提到代理键的问题,但似乎需要更改表。
编辑:有问题的数据库是 MySQL 数据库。
sql - 为具有几列组合唯一的表选择一个好的主键
虽然我已经使用查询 SQL 数据库工作了一段时间,但在实际构建好表方面我还是个新手。我经常纠结的一件事是使用主键。
在我现在创建的用于记录某些警报设备上的错误的表中,我需要 5 列。和列唯一park
地code
标识一个站点(尽管该park
列是 atm. 未使用)。然后有一serial
列标识有问题的设备,以及一个error
包含错误代码的列。最后timestamp
,当记录错误时有一个 for。
每个站点都有几个不同的设备,一个设备可能会报告几个错误。更正错误后,将从表中删除该行。
因此,要唯一识别错误,我们需要检查park
、code
和。根据可能运行的查询,所有这些似乎都是索引的良好候选者。但是,将所有这些定义为组合主键对我来说似乎并不正确,它们毕竟几乎是表中的所有列!serial
fault
我曾多次为类似的问题而苦苦挣扎,但我从未觉得自己找到了一个好的解决方案。任何人都可以为这样的表提出一些好的做法,其中大多数(甚至所有)列都需要唯一标识一行?
mysql - 如何使用 JPA/Hibernate 设置复合主键的列顺序
我的复合主键中的列排序有问题。我有一个包含以下内容的表:
它用于此映射:
当我使用具体的 @Table 类对 AbstractMessage 进行子类化时,休眠会创建没有错误的数据库和表。问题是休眠正在生成复合主键,其中列的顺序与我想要的相反。
我希望主键是
因为我知道我最多会有 10 个 loc,但每个 loc 有很多 epochtime。
任何帮助将不胜感激 =)
sql - SQL 如何创建 2 个计算键来创建 1 个复合键?
我想设计一个看起来像这样的表:
avaya nchar(6) NOT NULL,
startDate datetime NOT NULL,
endDate datetime NOT NULL,
sup_assigned nvarchar(255) NOT NULL,
myID int NOT NULL IDENTITY (1, 1)
但我想停止任何插入/更新,其中avaya
,startDate
和sup_assigned
在任何记录中相同或avaya
,endDate
和sup_assigned
在任何记录中都相同。
我应该如何最好地做到这一点?
我考虑过将包含 的 3 列的集合转换startDate
为十六进制,然后添加它们以创建Key1
列,对包含 和 的其他 3 列执行相同的endDate
操作Key2
。然后设置Key1
和Key2
作为复合键。
但我得到这个错误:
- 无法创建表。
在此上下文中,用户定义的函数名称不能以数据库名称作为前缀。
我应该如何使用 MS SQL 2005 做到这一点?
.net - 如何使用 nHibernate 映射 n 列主键
我有一个 2 列作为 PK(复合主键)的表。
如何将它们映射到“Id” hbm.xml
?
我怎样才能用流利的 nhibernate 做到这一点?
sql - 在 SQL 中逻辑确定复合键
我正在使用一个没有定义主键或唯一键约束的 MSSQL 表。有两个字段,我们称它们为 xId 和 yId,我相信它们一起将是一个复合键,但我想通过检查数据来确认这一点。
我在想我应该能够编写一个 SQL 计数语句,我可以将它与表上的记录总数进行比较,这将在逻辑上确定 xId 和 yId 的组合(或第三列 id 必要)实际上是否可以充当复合键。但是,我无法提出正确的 GROUP BY 或其他类型的子句来确认或反驳这一点。
有任何想法吗?
doctrine-orm - Doctrine 2 通过复合键一对一
我正在尝试建立如下所示的关系。每辆车可以有一个评论。一辆汽车在 2 列上有一个主键。评论通过复合主键引用回汽车。很简单,理论上。
当我尝试生成架构时,会弹出以下错误。
从 \Entity\Review 到 \Entity\Car 的关系所引用的列名
id
不存在。
我究竟做错了什么?
mysql - 如何在 MySQL 中删除具有 2 列作为复合主键的多行?
我的 innodb 表具有以下结构: 4 列(CountryID, Year, %Change, Source)
,其中 2 列(CountryID, Year)
作为主键。除了使用 for 循环删除每一行之外,如何删除多行?
我正在寻找类似的东西