Как генерировать метаданные с помощью собственного SQL // как извлекать сгенерированные данные без имен столбцов?

#reactjs #json #jpa #native-sql

Вопрос:

Я пытаюсь извлечь сгенерированные данные с помощью Reactjs. Однако данные, сгенерированные с помощью собственного SQL-запроса в spring boot, не содержат метаданных/имен столбцов в файле JSON; и я не могу использовать JPA, так как мой SQL-запрос имеет ВНЕШНЕЕ ПРИМЕНЕНИЕ. Может ли кто-нибудь, пожалуйста, показать мне решение для генерации данных с именами столбцов или извлечения данных с помощью Reactjs из файла JSON без имен столбцов?

Ниже приведен мой собственный SQL-запрос и его результат:

 @GetMapping public Listlt;Clientgt; getClients() {  Listlt;Clientgt; results = entityManager.createNativeQuery("SELECT top 17 c.CustomerNumber, c.Name, c.Surname, c.Area, c.City, c.Address, c.Enabled, c.CustomerTypeID, c.DateCreated, p.Debit, p.Creditn"    "FROM tblCustomer c OUTER APPLYn"    " (SELECT TOP (1) p.*n"    " FROM tblPayments pn"    " WHERE c.CustomerNumber = p.CustomerNumbern"    " ORDER BY p.id DESCn"    " ) p;")  .getResultList();  return results; }`  

И результатом этого является:

 // http://localhost:8080/api/v1/client  [  [  "000001",  "Pajazit",  "Neziri",  "1",  "Çegran",  "Bake",  "T",  2,  "2016-10-25T00:49:31.000 00:00"  ],  

Ответ №1:

Вы должны сообщить Hibernate, каким должен быть результат:

 Listlt;Clientgt; results = entityManager.createNativeQuery("SELECT top 17 c.CustomerNumber, c.Name, c.Surname, c.Area, c.City, c.Address, c.Enabled, c.CustomerTypeID, c.DateCreated, p.Debit, p.Creditn"    "FROM tblCustomer c OUTER APPLYn"    " (SELECT TOP (1) p.*n"    " FROM tblPayments pn"    " WHERE c.CustomerNumber = p.CustomerNumbern"    " ORDER BY p.id DESCn"    " ) p;",   Client.class) // THIS WAS MISSING  .getResultList();