我在使用Hibernate和PostgreSQL进行生产以及使用HSQLDB进行测试时遇到问题。 我正在使用自上而下的方法让Hibernate创建数据库架构。 我也在使用注释;hibernate.cfg.xml的映射部分仅包含诸如 <mapping class="package.subpackage.ClassName" /> Hibernate默认值之类的行,以将PostgreSQL上的String变量转换为character changes(255),这在某些情况下对我来说是不够的,因此我必须使用手动重新定义一些列 @Column(columnDefinition = "TEXT")。 但是,TEXT类型对于HSQLDB无效,因此无法创建这些表。
<mapping class="package.subpackage.ClassName" />
@Column(columnDefinition = "TEXT")
谁能帮助解决这个问题?
解决此特定问题的最简单方法可能是根本不使用columnDefinition,而是使用(例如)显式指定列长度
@Column(length=10000)
也可能是您可以使用@Lob(type = LobType.CLOB)映射它
但我不确定HSQLDB是否正确支持该功能。在Postgres中,它应该为您提供TEXT类型。