Ошибка сохраненной функции: не найден конвертер, способный к преобразованию из типа - PullRequest
0 голосов
/ 03 апреля 2019

Я создал хранимую функцию в PostgreSQL. Я получаю правильный результат в PostgreSQL. Но когда я пытаюсь вызвать хранимую функцию в данных весной jpa, используя собственный запрос. Я получаю следующую ошибку.

No converter found capable of converting from type [org.springframework.data.jpa.repository.query.AbstractJpaQuery$TupleConverter$TupleBackedMap] to type [com.spacestudy.model.ClientRT]"

Хранилище

@Repository
public interface ClientRoomTypeRepository extends JpaRepository<ClientRoomType, Integer> {


    @Query(nativeQuery = true,value = "select * from roomtype(:int_inst_id)")
    List<ClientRT> roomtype(@Param("int_inst_id")Integer int_inst_id);    
}

Результат класса ClientRT

public class ClientRT {

    public Integer res_nclient_room_type_id;    
    public String res_sclient_rt_desc;
    public String  res_sclient_rt_name;
    public String res_sclient_rt_code;
      //getter and setter
      ...
}

Результат PostgrSQL

enter image description here

1 Ответ

0 голосов
/ 03 апреля 2019

Вы можете использовать такую ​​логику, которую я использовал в своем проекте, которая могла бы работать для вас или нет.Я не использовал его с сопоставлением объектов JPA.

public class ObjectSerializer {

private static ObjectMapper objectMapper;

@Autowired
public ObjectSerializer(ObjectMapper objectMapper) {
    ObjectSerializer.objectMapper = objectMapper;
}

public static <T> T getObject(Object obj, Class<T> class1) {
    String jsonObj = "";
    T userDto = null;
    try {
        jsonObj = objectMapper.writeValueAsString(obj);
        userDto = (T) objectMapper.readValue(jsonObj, class1);
        System.out.println(jsonObj);
    } catch (JsonProcessingException jpe) {
    } catch (IOException e) {
        e.printStackTrace();
    }
    return userDto;
}

}

Надеюсь, это поможет.

...