我的PostgreSQL包含一个枚举
create type my_type as enum('VAL1', 'VAL2')
在Spring Boot应用中,它由MyType.class enum
我正在尝试使用DatabasClient
client.exectute("select * from table where type = :type")...
作为错误,我得到了:
ceptionFactory$PostgresqlBadGrammarException: operator does not exist: type = character varying
将类型投放到my_type
无效(两者都使用CAST和::)
我已经为MyType.class
注册了一个特定的编解码器,该编解码器可以正常工作-查询所有无条件的编码都可以与相关的@ReadingConverter
答案 0 :(得分:1)
Spring Data R2DBC和R2DBC Postgres都不能将您的枚举类型映射到Postgres枚举类型。
如果在SQL语句中进行检索时正确地转换了绑定值/列值,则仍然可以使用以字符串表示的Postgres枚举类型。
示例:
client.exectute("select type::text from table where type = :type::my_type")