首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将地图转换为HStore

将地图转换为HStore
EN

Stack Overflow用户
提问于 2018-09-03 21:33:43
回答 1查看 271关注 0票数 1

我需要调用带有hstore参数的Postgresql函数。

我这样称呼它:

代码语言:javascript
复制
@Repository
public interface DocumentRepo extends JpaRepository<DokumentInstancja, Integer> {

    @Query(value = "SELECT * FROM gabinet.test(?)", nativeQuery = true)
    public Integer test(HStore mapa);
}

其中HStore是我的包装类:

代码语言:javascript
复制
@Convert(converter = MyHStoreConverter.class)
public class HStore extends HashMap<String, String> {

    public HStore() {
        super();
    }

    public HStore(Map map) {
        super(map);
    }
}

我按照其他堆栈溢出问题中的建议使用了Converter,但在那里它被用来处理字段而不是类。但在我的例子中,map不是任何其他对象的字段。

我得到的错误:

代码语言:javascript
复制
2018-09-03 15:24:17.864 TRACE 13288 --- [nio-8080-exec-3] o.h.type.descriptor.sql.BasicBinder      : binding parameter [1] as [VARBINARY] - ["key1"=>"val1","key2"=>"val2"]
2018-09-03 15:24:17.865  WARN 13288 --- [nio-8080-exec-3] o.h.engine.jdbc.spi.SqlExceptionHelper   : SQL Error: 0, SQLState: 42883
2018-09-03 15:24:17.865 ERROR 13288 --- [nio-8080-exec-3] o.h.engine.jdbc.spi.SqlExceptionHelper   : ERROR: function gabinet.test(bytea) does not exist

有人能为我的问题提出解决方案吗?提前谢谢。

EN

回答 1

Stack Overflow用户

发布于 2021-08-11 08:47:44

您可以使用以下命令将hstore参数转换为字符串

代码语言:javascript
复制
HStoreConverter.toString(Map<?, ?> map)

使用字符串更改过程参数

代码语言:javascript
复制
procedure_name(input_string_in character varying)

在该过程中,您可以将其从字符串转换回hstore

代码语言:javascript
复制
CAST (input_string_in as hstore)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52150835

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档