使用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等等。这些dbms是否具有相同的功能?
发布于 2021-07-27 21:56:24
MariaDB支持与MySQL相同的枚举类型,这只是对VARCHAR列的一个奇特的检查约束,而不是实际的枚举类型。
如果您想实现跨所有这些方言的数据库不可知枚举类型,我建议您使用CHECK约束而不是枚举。
注意,希望r2dbc-postgresql驱动程序的未来版本能够支持开箱即用的枚举类型:https://github.com/pgjdbc/r2dbc-postgresql/issues/429。
https://stackoverflow.com/questions/67532590
复制相似问题