问题标签 [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.
hibernate - 休眠 ID 生成器
任何人都知道一些关于如何为休眠创建自定义 ID 生成器的好教程?
hibernate - 如果 hibernate_sequences 表被意外重置会发生什么?
我正在使用带有 ID 注释的休眠:
由于某种原因,由 hibernate 管理的 hibernate_sequences 表已被重置。IE。新插入的实体的 ID(编号)少于旧实体。这是正常的吗?当序列值上升到重置之前的位置时,不会违反约束吗?
如果是,我该如何手动编辑 hibernate_sequences 表来阻止它?是否像查找每个表的最大 id 并将其设置为 sequence_next_hi_value 值一样简单?
谢谢。
grails - 修改 Grails 插件的 ID 生成
我正在使用 Grails 插件 - Amazon S3 插件 - 并且插件提供的域对象未指定 Id 生成器。我正在使用 Postgresql 并要求 id 生成器是身份。
我可以在我的插件目录中复制插件并弄乱提供的域对象,但这听起来不像是一个干净的方法。我可以在运行时添加正确的 id 生成吗?或者也许有更好的方法。
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
吗?
提前致谢!
gwt - 关闭系统后获取IdGeneratorStrategy生成的使用ID
我正在开发一个在嵌入式 Winstone 服务器上运行 GWT 的 Web 应用程序,并且我正在使用 Derby 作为具有持久性管理器的数据库。
我正在生成一个具有长 ID 的持久类,该类由IdGeneratorStrategy.IDENTITY
.
问题是,当我关闭我的应用程序时,IdGeneratorStrategy
尝试创建具有相同 id 的此类的对象,因为它不知道在数据库中已经给另一个对象提供了相同的 id,这会导致错误提示两个约束具有相同的列集。
所以我需要能够告诉IdGenerator
获取最新的 ID 并创建一个不同的新 ID。
这个发电机可以吗?
或者我是否需要将 ID 保存在数据库中的表中并始终获取最后一个 ID 并“手动”生成它?
oracle10g - 序列增加 50 而不是 1
我创建了一个 Oracle 序列:
创建序列 seq_acteurs 以 1 递增 1 开始;
通常序列必须加1,但插入Acteurs
表时,序列s
加50!这似乎不合逻辑。为什么会这样?
任何帮助将不胜感激。
c# - 在映射文件的 NHibernate ID Generator 部分中,assigned 和 select 是什么意思?
在NHibernate
映射文件的 ID Generator 部分,assigned 和 select 是什么意思?
mysql - MySQL 5 原子 ID 生成器
我的逻辑需要在 INSERT 之前知道表的 ID(插入时手动设置 id)。因为使用这个 ID 的逻辑在不止一个服务器上,让 mysql 创建一个 id 可能是个好主意,但我写的函数不是原子的,所以在高负载下调用它会返回一些相同的,而不是唯一的数字:
我正在使用带有一列“id”的表“document_log_sequence”来存储最后一个 ID 并为每个新 ID 递增它。也许解决方案远非如此,但我没有更多的想法。
我忘了解释:只有一个数据库服务器和 n 个客户端。上面的函数不是(某种)线程安全的。
hibernate - Hibernate:自定义 ID 生成器需要持久化实体
我正在为 Hibernate 实现一个自定义 ID 生成器。在我的生成方法中,我需要从另一个表中读取并修改其上的数据。这就是(关于)我会这样做的方式:
这很好用,但我如何在我的生成器中使用它。generate-method 得到 a SessionImplementor
,而不是 a Session
。我怎样才能坚持一个实体呢?
有任何想法吗?
java - 在休眠中设置生成的ID时出错
我有一个Student
需要保存在数据库中的对象。id :studentId
的定义类似于 HBM :-
现在,为了生成 ID,我编写了我通常实现的代码,与 hibernate Source 中的代码相同,如下所示:-
现在,当我到达代码行时persister.setIdentifier(entity, id, EntityMode.POJO);
,出现以下异常:-
请帮助,因为我无法理解错误,因为我从休眠中选择了相同的代码。如果它在那里正常工作,那么这段代码也应该在这里工作。
谢谢