Spring boot 3 hibernate 6.1迁移问题

问题描述 投票:0回答:1

我正在将服务从 hibernate 5 和 spring 2.7 迁移到 Spring boot 3.0 和 Hibernate 6.1。我不知道如何迁移以下代码。 我知道他们删除了 PostgreSQL10Dialect,现在我可以使用 PostgreSQLDialect。 谁能建议我如何迁移此代码?

public class PGDialect extends PostgreSQL10Dialect {
  public PGDialect() {
    super();
    registerHibernateType(Types.ARRAY, "text[]");
    registerColumnType(Types.ARRAY, "text[]");
  }
}

感谢您的帮助

java spring spring-boot hibernate
1个回答
0
投票

最终弄清楚了,现在当我设置 ddl-auto: create-drop 时,这解决了我的问题,它可以创建表。 一些说明我需要指定方言,因为 PostgreSQL 不支持数组。我们也在使用这个库: https://github.com/vladmihalcea/hypersistence-utils 这是解决方案。

public class PGDialect extends PostgreSQLDialect {

    @Override
    protected void registerColumnTypes(TypeContributions typeContributions, ServiceRegistry serviceRegistry) {
        DdlTypeRegistry ddlTypeRegistry = typeContributions.getTypeConfiguration().getDdlyTypeRegistry();
        ddlTypeRegistry.addDescriptor(new DdlTypeImpl(2003, "text[]", this));
        super.registerColumnTypes(typeContributions, serviceRegistry);
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.