我试图通过JPA api调用postgresql函数时遇到此异常。我在使用未知类型时看到了以下错误,但这是String / Varchar。
有什么想法吗?
javax.persistence.PersistenceException: org.hibernate.MappingException: No Dialect mapping for JDBC type: 1111
Java代码:
StoredProcedureQuery query = entityManager.createStoredProcedureQuery("log.uf_remove_fks")
.registerStoredProcedureParameter("_schema", String.class,
ParameterMode.IN)
.setParameter("_schema", schema);
query.execute();
Postgresql功能:
CREATE OR REPLACE FUNCTION log.uf_remove_fks(_schema VARCHAR(10))
RETURNS VOID
AS $$
DECLARE rec RECORD;
BEGIN
...
END;
$$ LANGUAGE plpgsql;
堆栈追踪:
答案 0 :(得分:1)
似乎Hibernate对返回VOID的函数不满意,所以将其更改为返回INT并且最后只调用RETURN 1解决了这个问题。