#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();