【问题标题】:Derby Sequence Loop in junit testjunit测试中的德比序列循环
【发布时间】:2012-10-10 03:05:31
【问题描述】:

在我的带有 Hibernate (hibernate-core-3.6.8.Final) 环境的 JUNIT 中使用带有嵌入式驱动程序 (derby-10.9.1.0) 和内存数据库的 Derby 时遇到了麻烦。

我正在使用注释并使用 hbm2ddl 创建我的内存数据库。

一切正常,除非我尝试使用序列。

序列已创建(它出现在日志中),但是当我尝试添加一个具有与该序列相关的 PK 的实体(休眠)时,我的代码开始在每一行中写入一个无限循环:

Hibernate: values next value for app.SE_FERI

我的数据库创建为:

jdbc:derby:memory:testdb;create=true

我在我的代码中使用 hbm2ddl,在数据库使用之前,如:

SchemaExport schemaExport = new SchemaExport(config);
schemaExport.drop(true, true);
schemaExport.create(true, true);

一些帮助!?

【问题讨论】:

  • 我遇到了同样的问题。我切换到hsqldb 并且成功了。
  • 您好,您找到解决方法了吗?

标签: hibernate loops sequence derby


【解决方案1】:

当序列的 allocationSize 设置为 1 时会出现此问题。将其设置为 > 1 对我有用。

我知道这个帖子有点老了,但如果其他人有这个问题,这可能是解决方案。

编辑:拼写

【讨论】:

  • 非常感谢!!关于这个话题的信息稀缺!不管怎样,initial-value="1" 还是不行,因为它是从最大的负数开始的,这很奇怪。
  • 我只能确认这个错误是 Derby 特有的,allocationSize 1 适用于 HSQLDB 或 H2(使用休眠)。
猜你喜欢
  • 1970-01-01
  • 2011-11-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-05-01
相关资源
最近更新 更多