假设我有一个序列,称为 TEST_SEQ 选择下一个值的正确方法是什么?这不起作用:
select next value for TEST_SEQ
可能是因为它需要一个“FROM”子句。在休眠中查看 HSQLDialect.getSequenceNextValString() 我看到了这个:
"select next value for " + sequenceName + " from dual_" + sequenceName
在我的情况下会导致类似的结果:
select next value for TEST_SEQ from dual_TEST_SEQ
这不适用于 2.0.0-rc8(我只假设这适用于 2.0 之前的版本 - 尚未验证)我遇到了一个解决方案,该解决方案涉及创建一个名为 DUAL 的具有 1 行的简单表,在这种情况下这将起作用(甲骨文风格):
select next value for TEST_SEQ from DUAL
但是 hsqldb 并没有自带这个表,我不确定如何让休眠状态在“第一次启动”时生成这样的表。
我认为必须有一种方法可以开箱即用地获取序列的下一个值,而我只是错过了它。有任何想法吗 ?