Как получить правильный ответ Json от postgresql при весенней загрузке? - PullRequest
0 голосов
/ 18 июня 2019

Я совсем новичок в весенней загрузке!Простите мой английский !!Я застрял где-то очень плохо при получении ответа Json из устаревшей базы данных postgresql в весенней загрузке!Я уже создал модель для интервью.Я получаю Ответ следующим образом, чтобы не было пар ключ: значение, а есть только значения, которые я получаю!

[
    [
        4499,
        "A",
        "Aarti",
        null,
        "Mayuri",
        "Das"
    ],
    [
        10113,
        "A.F.Abdel",
        "Rahman",
        null,
        "Aashi",
        "Jain"
    ],
    [
        969,
        "AADISH",
        "SHAH",
        null,
        "Barkha",
        "Motwani"
    ],
    [
        6992,
        "AADITYA",
        "CHAUHAN",
        null,
        "Mayuri",
        "Das"
    ],

Я попытался передать прямые аргументы в функцию, чтобы она напрямую выбирала данные, но произошла ошибка типографского ввода, поскольку по умолчанию для postgres используется идентификатор типа int, и здесь используется целое число.

Репозиторий интервью

package com.example1.demo.repository;

import java.util.List;

import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import org.springframework.stereotype.Repository;

import com.example1.demo.model.Interview;



@Repository
public interface InterviewRepository extends JpaRepository<Interview, Long> {

    @Query("select a.firstName, a.lastName, i.title from User as a inner join Interview as i on a.id=i.supervisorId inner join MarketingSub as m on i.submissionId=m.id where m.consultantId=91")
    public List<?> findByInterviews();
}

Я получаю следующую ошибку при прохождении интервью вместо '?'

Failed to convert from type [java.lang.Object[]] to type [@org.springframework.data.jpa.repository.Query com.example1.demo.model.Interview] for value '{Ritwek, Swetank, in-person :: Fri :: 01/01/2016 :: 00:00 CST :: Test Ravi :: testlevel1 :: 1231231231 :: Sagar Khangan}'; nested exception is org.springframework.core.convert.ConverterNotFoundException: No converter found capable of converting from type [java.lang.String] to type [@org.springframework.data.jpa.repository.Query com.example1.demo.model.Interview]", 

Контроллер интервью

package com.example1.demo.controller;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;


import com.example1.demo.repository.InterviewRepository;

@RestController
@RequestMapping("/api/v1")
public class InterviewController {

    @Autowired
    private InterviewRepository interviewRepository;

    @GetMapping("/interview")
    public List<?> getInterviews() {
        return interviewRepository.findByInterviews();
    }
}

POM.xml

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-jpa</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>

    <dependency>
        <groupId>org.postgresql</groupId>
        <artifactId>postgresql</artifactId>
        <scope>runtime</scope>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
    </dependency>
</dependencies>

Я ожидаю правильного ответа Json, заключенного в словарь и в пары ключ-значение.

1 Ответ

0 голосов
/ 18 июня 2019

для нескольких таблиц, создать класс ASimpleUserInterview с 2 полями (пользователь, интервью)

package com.example1.demo.model;

import com.example1.demo.model.Interview;
import com.example1.demo.model.User;


public class ASimpleUserInterview{
    private User user;
    private Interview interview;

    public ASimpleUserInterview(){}

    public ASimpleUserInterview(User user, Interview  interview){
        this.user = user;
        this.interview = interview;
    }
    //getter and setter

}

тогда

package com.example1.demo.repository;

import java.util.List;

import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import org.springframework.stereotype.Repository;

import com.example1.demo.model.Interview;
import com.example1.demo.model.ASimpleUserInterview;



@Repository
public interface InterviewRepository extends JpaRepository<Interview, Long> {

    @Query("select new com.example1.demo.model.ASimpleUserInterview(a,i) from User as a inner join Interview as i on a.id=i.supervisorId inner join MarketingSub as m on i.submissionId=m.id where m.consultantId=91")
    public List<ASimpleUserInterview> findByInterviews();
}

То, что я написал в браузере, может быть неверным.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...