当前位置: 首页 > 知识库问答 >
问题:

从Hibernate Spatial 5.4.3升级到5.6.9后列类型错误

董同
2023-03-14

我们正在尝试将Hibernate和Hibernate Spatial从5.4版升级到5.6版(我们使用的是MySQL 5.6),但在启动Spring Boot应用程序(运行Spring Boot 2.7.0)时,我们遇到以下异常:

Caused by: org.hibernate.tool.schema.spi.SchemaManagementException: Schema-validation: wrong column type encountered in column [my_polygon] in table [my_table]; found [geometry (Types#BINARY)], but expecting [polygon (Types#ARRAY)]
  at org.hibernate.tool.schema.internal.AbstractSchemaValidator.validateColumnType(AbstractSchemaValidator.java:167)
  at org.hibernate.tool.schema.internal.AbstractSchemaValidator.validateTable(AbstractSchemaValidator.java:151)
  at org.hibernate.tool.schema.internal.GroupedSchemaValidatorImpl.validateTables(GroupedSchemaValidatorImpl.java:42)
  at org.hibernate.tool.schema.internal.AbstractSchemaValidator.performValidation(AbstractSchemaValidator.java:97)
  at org.hibernate.tool.schema.internal.AbstractSchemaValidator.doValidation(AbstractSchemaValidator.java:76)
  at org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator.performDatabaseAction(SchemaManagementToolCoordinator.java:204)
  at org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator.process(SchemaManagementToolCoordinator.java:85)
  at org.hibernate.internal.SessionFactoryImpl.<init>(SessionFactoryImpl.java:335)
  at org.hibernate.boot.internal.SessionFactoryBuilderImpl.build(SessionFactoryBuilderImpl.java:471)
  at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:1498)
  at org.hibernate.jpa.HibernatePersistenceProvider.createContainerEntityManagerFactory(HibernatePersistenceProvider.java:141)
  at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory(LocalContainerEntityManagerFactoryBean.java:365)
  at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.buildNativeEntityManagerFactory(AbstractEntityManagerFactoryBean.java:409)
  ... 195 common frames omitted

MyTable是这样定义的:

@Entity
public class MyTable {
  
    @Type(type = "jts_geometry")
    @Column(name = "my_polygon", columnDefinition = "polygon")
    public Polygon myPolygon;

    // Other properties
}

我已经尝试完全删除@Type注释,但我仍然得到相同的错误。如何使此工作?

共有1个答案

蒋华美
2023-03-14

实际上,我通过将列定义(columnDefinition)从多边形(polygon)更改为几何体(geometry)来实现它:

@Entity
public class MyTable {
  
    @Type(type = "jts_geometry")
    @Column(name = "my_polygon", columnDefinition = "geometry")
    public Polygon myPolygon;

    // Other properties
}
 类似资料:
  • 失败:构建失败,但有例外。 > 其中:脚本C:\flatter\packages\flatter\u tools\gradle\flatter。格雷德尔线:1070 错误:任务:app:compileFlutterBuildDebug的执行失败。 处理“命令”C:\flatter\bin\flatter。bat“”以非零退出值1结束 > 获取更多帮助https://help.gradle.org

  • 我相信我已经为4.1准备好了所有的依赖项,但是当我使用作曲家更新时,我会出现以下错误: 生成自动加载文件 脚本php artisan clear已编译,处理返回的更新后cmd事件时出错: 脚本php artisan optimize处理返回的更新后cmd事件时出错: 我的composer文件如下所示: { }

  • 当我将我的keycloak版本从3.2.1升级到4.5时,我遇到了以下异常。如果我从3.2.1转到keycloak 4.2.1我就不明白了。看起来像是keycloak 4.5特有的东西。

  • 自从升级到Gradle 3.3以来,由于缺少翻译错误,我在构建代码时遇到了麻烦: 错误:xxx没有翻译成“af”(南非荷兰语)、“am”(阿姆哈拉语)、“ar”(阿拉伯语)、“az”(阿塞拜疆)、“az-az”(阿塞拜疆:阿塞拜疆)、“be”(白俄罗斯)、“bg”(保加利亚)、“ca”(加泰罗尼亚)、[……],“zh TW”(中文:台湾)、“zu”(祖鲁)[缺失翻译] 报告的大多数语言都是我的项目

  • 问题内容: 我有一个用于签署XML文档的Java应用程序。将Java升级到最新版本(Java7u25)后,它将停止工作。我收到以下错误: 恢复为java7u21解决了该问题。XML Dig Sig API中是否有任何导致此错误的更改? 问题答案: 这里同样的问题。由于不断发展,似乎是JVM内部的错误。 我已经将其归结为 在Java 7u21及之前的版本中: 在Java 7u25中: 指的是XML

  • 在导入react原生项目expo并升级react后,我遇到了以下问题。 C:\users\user\gramic\android\app\src\main\java\com\shop\mainapplication.java:5:错误:找不到符号import com.facebook.react.reactapplication;^symbol:class ReactApplication Loc