mybatis 如何获取枚举数组?

刚开始玩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把数组拆分成多行;不过仍未从源头上解决上述问题。

阅读 2.5k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏