问题标签 [sequence-generators]

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 浏览

java - 2个表的序列中的相同ID - JPA

我有 2 个实体使用与主键相同的序列,我该如何映射?例子:

我需要用相同的 id 保存员工和计算机,由 Employe save 生成​​。

0 投票
2 回答
2346 浏览

python - 异步 python itertools 链多个生成器

更新后的问题:

假设我有 2 个处理生成器函数:

我可以用 itertools 链接它们

然后我可以用它创建另一个生成器函数对象,

或者只是如果我只是想next(mix),它就在那里。

我的问题是,我怎样才能在异步代码中做同样的事情?

因为我需要它:

  • 以产量(一个接一个)或使用next迭代器返回
  • 最快解决的产量优先(异步)

上一篇 更新:

经过试验和研究,我发现了 aiostream库,它声明为 itertools 的异步版本,所以我做了什么:

但我还是做不到next(a_mix)

或者next(await a_mix)

虽然我仍然可以将其列入列表:

所以一个目标完成了,还有一个目标:

  • 以产量(一个接一个)或使用next迭代器返回

    - 最快解决的产量优先(异步)

0 投票
2 回答
1253 浏览

sql-server - 模式验证:使用 Hibernate 序列生成器策略时缺少表 [SEQUENCE_NAME]

我在休眠 id 生成和 ms sql 服务器方面遇到了一些问题。

GenerationType.SEQUENCE在我的应用程序中使用休眠生成 ID。

作为 DB,我使用 microsoft sql server 2017。

我通过 Liquibase 创建序列:

启动 Spring Boot 应用程序时出现错误:

当我手动查询序列时,可以找到:

我有点困惑,它说“丢失的桌子”。使用 oracle 可以正常工作。mssql 不支持通过序列生成 id。

我的配置:

我使用这个泊坞窗图像:mcr.microsoft.com/mssql/server:2017-CU12-ubuntu

0 投票
1 回答
323 浏览

hibernate - Hibernate - 使用复合主键(@idClass)时无法插入新记录,因为它保留了自动生成的属性

我会尽量简单地说。我有一个由两个 Long 属性组成的复合主键的表,由 @IdClass 注释类包装。

@IdClass 属性:

我没有做的事情:

在保持“id”值和递增“version”的同时插入新记录。

示例场景:

现有记录 - {id:1, version:1}

所需的新记录(未更新,谈论新记录) - {id:1, version:2}

我做了什么:

起初我尝试增加版本,同时保留我正在使用的序列生成器。以下是 id 的注释方式:

以上导致提供的 id 被序列的 nextVal 覆盖,所以对我来说没有任何交易。

所以我的第二种方法是使用继承和内部 Hibernate 类,我总是尽量避免:

并根据需要对实体类进行更改:

另一方面,这仅在 nextVal 为 null 时将其返回到 id 中,这正是我想要的。然后问题转移到库中更暗更深的地方,好像它试图将 id (Long) 分配给 PK 类型本身而不是其 Long 属性:

在此处输入图像描述

java.lang.IllegalArgumentException:无法将 java.lang.Long 字段 {package}.CotacaoPK.idCotacao 设置为 {package}.CotacaoPK

如果两个 PK 属性(id 和版本)都保持不变,那么我不会出错。

有任何想法吗?我已经投入了合理的时间......谢谢。

0 投票
1 回答
40 浏览

oracle - 预言机序列是否有可能生成小于最新生成值的值

我在 oracle 中有一个序列生成器。

缓存大小 1000 INCREMENT_BY 1

我遇到了一个问题,其中序列生成的最新值小于上一个最新的

考虑两列 ID 和 created-date

  1. 490206 2019 年 4 月 25 日下午 3:02:15
  2. 492204 2019 年 4 月 24 日晚上 10:09:21
  3. 492202 2019 年 4 月 24 日下午 3:57:55

如上例所示,我在表中的最新条目是 490206,它小于之前最新的 492204。

这会发生在 oracle 序列生成器中吗?如何解决这个问题?

0 投票
0 回答
54 浏览

java - Hibernate - 重新创建一个表并从一个表中分配主键(开始)

我正在为 Spring RESTful API 使用 PostgreSQL 数据库。我正在使用 Spring Data、Spring JPA 和 Hibernate。

为了生成自定义主键,我使用SequenceGenerator。一切正常。当我从数据库中删除一个表并希望再次创建它时,会出现问题,主键将再次从 1 开始。我出于某种原因从数据库中删除一个表,该表将再次创建。我正在使用 pgAdmin UI,我只是在删除表格。下次当我再次创建表时,Hibernate 仍然会记住最后生成的主键,因此它会从最后一个主键的下一个数字开始生成主键,从而生成一个完全不同的非 1,这正是我想要的。我认为原因是,虽然表已被删除,但休眠正在存储最后生成的主键的记录。

这就是为什么我正在寻求帮助,如何强制休眠从 1(一)开始为新创建的表生成主目录。

在属性文件中,我有以下属性:

我尝试通过设置以下内容,

它解决了该表的问题,但其余所有表也被重新创建,因此我丢失了所有数据。

这是我试图为其重新创建表的类。

0 投票
0 回答
186 浏览

keras - 使用多处理和多个工作人员时 HDF5 生成器出错

我为 Keras 编写了一个生成器,它使用 Pytables 从 HDF5 文件中获取图像(参见下面的代码)。它工作正常,当这样调用它时:

但是,如果我使用多个工作人员(请参阅上面的注释行),我会收到如下所示的错误。我怀疑这与尝试访问 HDF5 文件的多个线程有关。但是,我认为 Pytables 和 HDF5 能够处理这个只读访问。那么我做错了什么?

奖励问题:此代码是否可以确保,在训练期间,模型在一个时期内只看到给定样本一次,如Notes所述:

序列是一种更安全的多处理方式。这种结构保证了网络在每个 epoch 的每个样本上只训练一次,而生成器则不是这样。

这是我使用多个工人时遇到的错误:

这是我的生成器的代码:

0 投票
3 回答
1123 浏览

java - 如何为 UniqueId 编写 Java 序列生成器,它将在每天午夜自动重置为“1”(基本序列号)

我们有一个 Spring Boot 服务,我们每天都会收到文件,由于某些问题(在生产者上),我们收到了多个附加了相同名称和日期的文件。新文件覆盖旧文件,为了处理它,我们希望在每个文件名处附加一个序列(从 1 开始)。但是序列应该在每天午夜自动重置为“1”。

任何人都可以建议一个 API 或一种重置序列的方法。

为了生成自动序列,我们使用 AtomicSequenceGenerator ,但我们无法实现简单的自动重置逻辑。

0 投票
1 回答
127 浏览

python - 子类化 Keras 序列是否需要实现 __next__ 方法?

Keras序列类文档

然而, training_generator.pyfit_generator中其他类似方法的源代码调用方法,生成器作为参数传递。根据我的理解,这意味着子类应该是一个需要实现方法的迭代器。nextSequence__next__

为了使用从Sequence类似fit_generator,predict_generator等方法的子类化的类,是否需要实现__next__方法?

0 投票
1 回答
199 浏览

java - 具有自定义查询的 SequenceGenerator 到另一个数据库

我使用带有序列“seq_user_hierarchy”的 SequenceGenerator 和 GeneratedValue 在 ID 字段中执行“select nextval('NAME_OF_SEQUENCE')”。

是否有可能使用“从 NAME_OF_VIEW 中选择值”之类的自定义查询而不是默认查询?

有没有其他方法可以在 id 字段中插入我的自定义查询结果?

提前致谢