在春季将自定义postgres sql类型映射到JPA或JDBC

时间:2018-07-16 09:42:26

标签: postgresql hibernate spring-boot spring-data-jpa spring-jdbc

我有一个像这样的postgres存储过程:

CREATE OR REPLACE FUNCTION search() RETURNS SETOF search_result

在这种情况下,“ search_result”是一种自定义(非持久)类型,其创建方式如下:

CREATE TYPE search_result AS (o offer, distance int)

考虑“提供”为另一种复杂类型(在本例中为表格)。

现在我想以某种方式在Java端使用JPA / Hibernate或JDBC。

在JPA的情况下,我在为search_result映射而苦苦挣扎,因为它不是@Entity(不是表)……它只是返回类型。另外,嵌入式“报价”也是一个问题。

我尝试过此[1],但对我来说不起作用。

在JDBC的情况下,对于ResultSet中的每一行,我看到两个条目:“ o”和“ distance”,这很好,但是对于“ o”(提供),我必须以某种方式注册一个转换器。如何做到这一点,尤其是在Spring Boot上下文中?

[1] Spring JPA, @SqlResultSetMapping mapping to JPA repository

0 个答案:

没有答案