Как конвертировать List <Object>в POJO, используя собственный запрос JPA - PullRequest
0 голосов
/ 16 апреля 2019

Как преобразовать Список объектов в формат josn (ключ, значение)?

У меня есть один класс с именем ClientRT, и в этом классе четыре поля, то есть

res_nclient_room_type_id, res_sclient_rt_desc,res_sclient_rt_name, res_sclient_rt_code

Класс обслуживания

public List<Object> callSP() throws IOException {   

        List<Object> crt=crtRepo.roomtype(60);          

        //ObjectMapper mapper = new ObjectMapper(); 

        //String rtobject= mapper.writeValueAsString(crt);

        return crt;
    }

Репозиторий

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

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

Список объектов

 [
      [
        1,
        "TEMPORARILY NOT ASSIGNED",
        "TEMPORARILY NOT ASSIGNED",
        "000"
      ],
      [
        2,
        "FACILITIES - AVAILABLE ROOM",
        "FACILITIES - AVAILABLE ROOM",
        "050"
      ],

Как конвертировать В этом формате

[
 {
    "res_nclient_room_type_id":1 , 
    "res_sclient_rt_desc": "TEMPORARILY NOT ASSIGNED", 
    "res_sclient_rt_name":"TEMPORARILY NOT ASSIGNED" , 
    "res_sclient_rt_code":"000" 

 },
 {
  "res_nclient_room_type_id":2 , 
  "res_sclient_rt_desc": "FACILITIES - AVAILABLE ROOM", 
  "res_sclient_rt_name":"FACILITIES - AVAILABLE ROOM" , 
  "res_sclient_rt_code":"050" 
 },
]

Может кто-нибудь подсказать мне, как я могу это сделать?

1 Ответ

1 голос
/ 16 апреля 2019

Я вижу, ваша проблема с JPA для этого используйте проекцию, создайте один интерфейс с полями Проекции на основе интерфейса

interface ClientRT {

  Long getResNclientRoomTypeId();
  String getResSclientRtDesc();
  String getResSclientRtName();
  String getResSclientRtCode();
  }

Запрос

 @Query(value = "select * from roomtype(:int_inst_id)", nativeQuery = true)
List<ClientRT> roomtype(@Param("int_inst_id")Integer int_inst_id);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...