问题标签 [id-generation]

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 投票
3 回答
22260 浏览

hibernate - 休眠 ID 生成器

任何人都知道一些关于如何为休眠创建自定义 ID 生成器的好教程?

0 投票
0 回答
1978 浏览

hibernate - 如果 hibernate_sequences 表被意外重置会发生什么?

我正在使用带有 ID 注释的休眠:

由于某种原因,由 hibernate 管理的 hibernate_sequences 表已被重置。IE。新插入的实体的 ID(编号)少于旧实体。这是正常的吗?当序列值上升到重置之前的位置时,不会违反约束吗?

如果是,我该如何手动编辑 hibernate_sequences 表来阻止它?是否像查找每个表的最大 id 并将其设置为 sequence_next_hi_value 值一样简单?

谢谢。

0 投票
2 回答
1293 浏览

grails - 修改 Grails 插件的 ID 生成

我正在使用 Grails 插件 - Amazon S3 插件 - 并且插件提供的域对象未指定 Id 生成器。我正在使用 Postgresql 并要求 id 生成器是身份。

我可以在我的插件目录中复制插件并弄乱提供的域对象,但这听起来不像是一个干净的方法。我可以在运行时添加正确的 id 生成吗?或者也许有更好的方法。

0 投票
2 回答
924 浏览

java - Hibernate/JPA混合ID生成策略

假设我有以下情况:我有 5 个实体(为简单起见而减少),我明确知道其中 3 个实体在数据库中的记录很少(每个 15-20 左右)。剩下的 2 个实体将有很多记录(数千条),并且也会快速增长。

使用默认的 Hibernate ID 生成策略 ( AUTO),这意味着所有记录在所有实体中都将具有唯一的 ID(因为只有 1 个序列)。我不愿意这样做,因为这意味着由于某些表中的大量记录,ID 将迅速增长。

问题 #1:我可以重新定义 2 个大实体的 ID 策略,以便每个实体都有自己的序列,并保持其他实体AUTO?混合和匹配 ID 策略是否被认为是好/坏的做法?我应该/不应该这样做的任何理由?

问题 #2:考虑到 Oracle 10g 数据库,关于 ID 生成策略有什么优缺点吗?例如; TABLE使用而不是更好SEQUENCE吗?

提前致谢!

0 投票
1 回答
164 浏览

gwt - 关闭系统后获取IdGeneratorStrategy生成的使用ID

我正在开发一个在嵌入式 Winstone 服务器上运行 GWT 的 Web 应用程序,并且我正在使用 Derby 作为具有持久性管理器的数据库。
我正在生成一个具有长 ID 的持久类,该类由IdGeneratorStrategy.IDENTITY.
问题是,当我关闭我的应用程序时,IdGeneratorStrategy尝试创建具有相同 id 的此类的对象,因为它不知道在数据库中已经给另一个对象提供了相同的 id,这会导致错误提示两个约束具有相同的列集。

所以我需要能够告诉IdGenerator获取最新的 ID 并创建一个不同的新 ID。

这个发电机可以吗?

或者我是否需要将 ID 保存在数据库中的表中并始终获取最后一个 ID 并“手动”生成它?

0 投票
3 回答
5759 浏览

oracle10g - 序列增加 50 而不是 1

我创建了一个 Oracle 序列:

创建序列 seq_acteurs 以 1 递增 1 开始;

通常序列必须加1,但插入Acteurs表时,序列s加50!这似乎不合逻辑。为什么会这样?

任何帮助将不胜感激。

0 投票
2 回答
5165 浏览

c# - 在映射文件的 NHibernate ID Generator 部分中,assigned 和 select 是什么意思?

NHibernate映射文件的 ID Generator 部分,assigned 和 select 是什么意思?

0 投票
3 回答
5109 浏览

mysql - MySQL 5 原子 ID 生成器

我的逻辑需要在 INSERT 之前知道表的 ID(插入时手动设置 id)。因为使用这个 ID 的逻辑在不止一个服务器上,让 mysql 创建一个 id 可能是个好主意,但我写的函数不是原子的,所以在高负载下调用它会返回一些相同的,而不是唯一的数字:

我正在使用带有一列“id”的表“document_log_sequence”来存储最后一个 ID 并为每个新 ID 递增它。也许解决方案远非如此,但我没有更多的想法。

我忘了解释:只有一个数据库服务器和 n 个客户端。上面的函数不是(某种)线程安全的。

0 投票
1 回答
708 浏览

hibernate - Hibernate:自定义 ID 生成器需要持久化实体

我正在为 Hibernate 实现一个自定义 ID 生成器。在我的生成方法中,我需要从另一个表中读取并修改其上的数据。这就是(关于)我会这样做的方式:

这很好用,但我如何在我的生成器中使用它。generate-method 得到 a SessionImplementor,而不是 a Session。我怎样才能坚持一个实体呢?

有任何想法吗?

0 投票
3 回答
3448 浏览

java - 在休眠中设置生成的ID时出错

我有一个Student需要保存在数据库中的对象。id :studentId的定义类似于 HBM :-

现在,为了生成 ID,我编写了我通常实现的代码,与 hibernate Source 中的代码相同,如下所示:-

现在,当我到达代码行时persister.setIdentifier(entity, id, EntityMode.POJO);,出现以下异常:-

请帮助,因为我无法理解错误,因为我从休眠中选择了相同的代码。如果它在那里正常工作,那么这段代码也应该在这里工作。

谢谢