假设我有一个名为TEST_SEQ的序列,选择它的下一个值的正确方法是什么?这不起作用:
select next value for TEST_SEQ
可能是因为它需要一个"FROM“子句。查看hibernate中的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之前的版本中有效--还没有得到验证)我遇到了一个解决方案,它涉及创建一个只有1行的简单表,称为DUAL,在这种情况下它可以工作(oracle风格):
select next value for TEST_SEQ from DUAL
但是hsqldb没有提供这个开箱即用的表,而且我不确定如何才能让hibernate在“第一次启动”时生成这样一个表。
我在想,一定有一种方法可以让序列的下一个值开箱即用,而我只是错过了它。有什么想法吗?
https://stackoverflow.com/questions/2340037
复制相似问题