如何解决R2dbc 枚举类型支持mssql、oracle、mariadb 等
使用 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 具有相同的功能吗?
解决方法
MariaDB 支持与 MySQL 相同的枚举类型,这只是对 VARCHAR
列的一个奇特的检查约束,而不是实际的枚举类型。
如果您想在所有这些方言中实现与数据库无关的枚举类型,我建议您使用 CHECK
约束而不是枚举。
请注意,希望 r2dbc-postgresql 驱动程序的未来版本将支持开箱即用的枚举类型:https://github.com/pgjdbc/r2dbc-postgresql/issues/429
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。