hibernate - 使用 Hibernate 和 HSQLDB 找不到表

标签 hibernate jpa hsqldb

我们使用 hibernate 实体管理器通过 JPA 映射我们的实体。我们正在使用 HSQLDB 内存数据库进行单元测试。一切都很好,直到最近对模型的重构开始导致以下错误:

17:55:48.516 [main] WARN  o.h.util.JDBCExceptionReporter - SQL Error: -22, SQLState: S0002
17:55:48.517 [main] ERROR o.h.util.JDBCExceptionReporter - Table not found in statement

我不能发布有问题的 SQL,但是任何人都可以给我指出上述错误的可能原因吗?特别是因为我知道代码以前可以工作。由于重构,hibernate 似乎正在生成无效的 sql?

最佳答案

这也可能表明 JDBC 驱动程序和 Hibernate 方言不匹配。

当 JDBC 驱动程序连接是 HSQLDB 并且 Hibernate 方言是 org.hibernate.dialect.Oracle10gDialect 时,我们得到了这个。

对应的异常信息: [错误]:无法获取数据库元数据 java.sql.SQLException:在语句 [select sequence_name from all_sequences] 中找不到表

关于hibernate - 使用 Hibernate 和 HSQLDB 找不到表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1442127/

相关文章:

java - 从简单的 HQL 查询中获取无效参数索引 1

hibernate - 自动在 JPA 实体中设置 createdBy 和 updatedBy

java - 使用Spring时如何注入(inject)多个JPA EntityManager(持久化单元)

java - 有没有一种优雅的方式在 Springs @Query 注释中使用枚举?

java - 无法删除 HSQLDB 中的表

java - Hibernate + spring 版本兼容性

Hibernate 谓词 SelectAll

java - JPA-继承

java - 简单场景以 "integrity constraint violation"结尾

mysql - 在不同数据库之间移动数据