hibernate - 如何使 hibernate 3.5.6-Final 和内存中的 hsqldb 2.0.0 一起工作?

标签 hibernate hsqldb varchar

将 pom.xml 中的 hsqldb 依赖项从 1.8.x 升级到 2.0.0+ 后,我开始收到此错误:

org.hsqldb.HsqlException: length must be specified in type definition: VARCHAR

显然,Hibernate 根据 HSQLDB 2 要求生成了错误的 CREATE TABLE 表达式。我应该使用不同版本的 Hibernate 吗?哪一个? (不过,我更愿意暂时坚持使用 3.5.6)。或者也许有一种方法可以在向后兼容模式下使用 HSQLDB 2?

谢谢你。

最佳答案

我建议您使用 Maven 上的最新 HSQLDB(当时或写作时为 2.2.6)。
您可以使用 URL 覆盖 VARCHAR 大小强制,例如

jdbc:hsqldb:mem:test;sql.enforce_size=false 
对于 Hibernate 版本,使用来自 Hibernate 3.6.x 系列的更新版本的 HSQLDialect.java 可以实现更好的兼容性。或者只是升级到最新的 3.6.8

关于hibernate - 如何使 hibernate 3.5.6-Final 和内存中的 hsqldb 2.0.0 一起工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8248451/

相关文章:

java - 数据从内存数据库中自动删除

sql - CockroachDB 中的 TEXT、CHAR 和 VARCHAR 有什么区别?

java - 如何获取带有 bytea 类型 id 列的表?

SQl 查询到 hibernate 查询

java - 使用 Hibernate 搜索进行搜索

Java Spring MVC + Hibernate - sessionFactory "unsatisfied dependency"错误

sql - 如何在 HSQL 中返回最后插入(自动递增)的行 ID?

java - HSQLDB - 对用户隐藏数据库结构/内容

mysql - 如何使用 RegEx 更新 VARCHAR 列值?

sql - varchar 日期时间转换错误