【问题标题】:R2dbc enum type support (mssql, oracle, mariadb, ect)R2dbc 枚举类型支持(mssql、oracle、mariadb 等)
【发布时间】:2021-05-14 10:10:36
【问题描述】:

使用 R2dbc postgresql,我们可以轻松地将 java 枚举类型映射到数据库枚举类型:

@Bean
public ConnectionFactory pgConnectionFactory() {
        return new PostgresqlConnectionFactory(
                PostgresqlConnectionConfiguration.builder()
                        .host("localhost")
                        .database("test")
                        .username("user")
                        .password("password")
                        .codecRegistrar(EnumCodec.builder().withEnum("status", Status.class).build())
                        .build()
        );
}

现在我想将此映射应用于:mariadb、mssql、oracle 等。 这些 dbmss 是否具有相同的功能?

【问题讨论】:

    标签: java spring spring-boot r2dbc


    【解决方案1】:

    MariaDB 支持与 MySQL 相同的枚举类型,这只是对 VARCHAR 列的一种奇特的检查约束,而不是实际的枚举类型。

    如果您想在所有这些方言中实现与数据库无关的枚举类型,我建议您使用CHECK 约束而不是枚举。

    请注意,希望 r2dbc-postgresql 驱动程序的未来版本将支持开箱即用的枚举类型:https://github.com/pgjdbc/r2dbc-postgresql/issues/429

    【讨论】:

      猜你喜欢
      • 2020-09-14
      • 2020-03-07
      • 2020-05-21
      • 1970-01-01
      • 1970-01-01
      • 2021-12-27
      • 2022-01-21
      • 1970-01-01
      相关资源
      最近更新 更多