刚开始玩postgresql,里面有个枚举Type article_channel
,想要获取其所有值,并且封装成数组对象。
环境:jdk8 mybatis postgrsql;
Mapper代码如下:
@Select("select enum_range(null::article_channel) as channels;")
Object getChannel();
service代码如下:
Object channel = categoryMapper.getChannel();
String[] channel1 = (String[]) channel;
希望达到getChannel方法可以直接返回一个String数组(直接把getChannel方法的返回值改为String[],则会导致mybatis把@Select("select enum_range(null::article_channel) as channels;")
的执行结果当成string,并存到数组的第一位中)。
另外,枚举类获取所有值有没有更优雅的方法?
找到了其他的解决思路
使用unnest把数组拆分成多行;不过仍未从源头上解决上述问题。