【发布时间】:2016-10-02 07:37:39
【问题描述】:
所以这让我感到困惑..所以我在我的 JPA 代码中得到了这个语法:(我按照说明进行操作并且语法是正确的)
@SequenceGenerator(name="oracle_gen", sequenceName="TEST_SEQ", allocationSize=1)
@GeneratedValue(strategy=GenerationType.SEQUENCE, generator="oracle_gen")
我在 Oracle 10 中获得了一个名为“TEST_SEQ”的序列,该序列设置为递增 1
它现在可以工作了.. 但是当它插入我的行时,ID 列(序列设置为)增加了 2.. 比如 17、19、21 等。
当我从 oracle 的 dual 中选择 test_seq.nextval 时,它目前显示为 22,但我知道如果我从我的 java 应用程序中添加另一行,它将是 23.. 我不知道为什么以及它在哪里添加另一个 1. 序列已设置为 NOCACHE(在 Oracle 中).. 我做错了什么?帮助! :(
好吧..这太奇怪了..我刚刚意识到每当我选择 test_seq.nextval 时,它会不断增加我的价值?!我确实在数据库上有一个触发器。这是造成它的原因吗?抱歉,我是 Oracle/pl/sql 的新手。
感谢您的帮助。
【问题讨论】:
-
触发器有什么作用?请将您的问题更新为触发代码。另外,在插入/更新可能还包含序列调用的数据时,是否使用了任何函数?
标签: php sql oracle symfony oracle11g