java – 在Hsqldb / H2中进行单元测试的SequenceGenerator问题
发布时间:2020-12-15 08:43:42 所属栏目:Java 来源:网络整理
导读:我已经尝试使用Hsqldb和H2进行单元测试,但面临序列生成器的问题.字段声明如下所示. @Id @GeneratedValue(strategy=GenerationType.SEQUENCE,generator="keyword_seq")@SequenceGenerator(name="keyword_seq",sequenceName="KEYWORD_ID_SEQ",allocationSize=1
我已经尝试使用Hsqldb和H2进行单元测试,但面临序列生成器的问题.字段声明如下所示.
@Id @GeneratedValue(strategy=GenerationType.SEQUENCE,generator="keyword_seq") @SequenceGenerator(name="keyword_seq",sequenceName="KEYWORD_ID_SEQ",allocationSize=1) @Column(name="IM_KEYWORD_ID") private Long keywordId; 当我尝试使用以下配置在Hsqldb中测试此表中的简单插入时,它会给出错误 <prop key="hibernate.connection.driver_class">org.hsqldb.jdbc.JDBCDriver</prop> <prop key="hibernate.connection.url">jdbc:hsqldb:mem:testdb;sql.syntax_ora=true</prop> 错误: Caused by: java.sql.SQLSyntaxErrorException: user lacks privilege or object not found: KEYWORD_ID_SEQ.NEXTVAL at org.hsqldb.jdbc.Util.sqlException(Unknown Source) at org.hsqldb.jdbc.Util.sqlException(Unknown Source) 使用H2: <prop key="hibernate.connection.driver_class">org.h2.Driver</prop> <prop key="hibernate.connection.url">jdbc:h2:~/test</prop> 错误是: Hibernate: select KEYWORD_ID_SEQ.nextval from dual 3085 [main] WARN org.hibernate.util.JDBCExceptionReporter - SQL Error: 42001,SQLState: 42001 3088 [main] ERROR org.hibernate.util.JDBCExceptionReporter - Syntax error in SQL statement "SELECT KEYWORD_ID_SEQ.NEXTVAL FROM[*] DUAL "; expected "identifier"; SQL statement: 任何想法,如何解决这个问题? 解决方法
我认为方言设置错误.你能检查你的休眠配置吗?
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- java – 在Intellij 13上,创建的可执行jar无效或已损坏
- 使用java.time在时刻中替换时间部分
- spring ioc的简单实例及bean的作用域属性解析
- .net – 将System :: array转换为std :: vector
- 什么是“自我抑制不允许”,为什么Javac生成代码导致这个错误
- Java使用正则表达式实现找出数字功能示例
- java – 如何返回类型返回类型也是方法参数的上限和下限
- java – 使用Jackson在json中使用毫秒的ISO8601
- 如何将Java 2D Shape对象序列化为XML?
- Android开发 Failed to install *.apk on device 'emu