How to generate metadata with native SQL // 如何检索没有列名的生成数据?
How to generate metadata with native SQL // how to retrieve the generated data without column names?
我正在尝试通过 Reactjs 检索生成的数据。但是,在 spring 引导中使用本机 SQL 查询生成的数据在 JSON 文件中没有 metadata/column 名称;而且我无法使用 JPA,因为我的 SQL 查询是使用 OUTER APPLY 进行的。
有人可以告诉我一个解决方案,用于生成带有列名的数据或使用 Reactjs 从没有列名的 JSON 文件中检索数据吗?
下面是我的本地 SQL 查询及其结果:
@GetMapping
public List<Client> getClients()
{
List<Client> 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.Credit\n" +
"FROM tblCustomer c OUTER APPLY\n" +
" (SELECT TOP (1) p.*\n" +
" FROM tblPayments p\n" +
" WHERE c.CustomerNumber = p.CustomerNumber\n" +
" ORDER BY p.id DESC\n" +
" ) 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"
],
你必须告诉 Hibernate 结果应该是什么:
List<Client> 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.Credit\n" +
"FROM tblCustomer c OUTER APPLY\n" +
" (SELECT TOP (1) p.*\n" +
" FROM tblPayments p\n" +
" WHERE c.CustomerNumber = p.CustomerNumber\n" +
" ORDER BY p.id DESC\n" +
" ) p;",
Client.class) // THIS WAS MISSING
.getResultList();
我正在尝试通过 Reactjs 检索生成的数据。但是,在 spring 引导中使用本机 SQL 查询生成的数据在 JSON 文件中没有 metadata/column 名称;而且我无法使用 JPA,因为我的 SQL 查询是使用 OUTER APPLY 进行的。 有人可以告诉我一个解决方案,用于生成带有列名的数据或使用 Reactjs 从没有列名的 JSON 文件中检索数据吗?
下面是我的本地 SQL 查询及其结果:
@GetMapping
public List<Client> getClients()
{
List<Client> 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.Credit\n" +
"FROM tblCustomer c OUTER APPLY\n" +
" (SELECT TOP (1) p.*\n" +
" FROM tblPayments p\n" +
" WHERE c.CustomerNumber = p.CustomerNumber\n" +
" ORDER BY p.id DESC\n" +
" ) 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"
],
你必须告诉 Hibernate 结果应该是什么:
List<Client> 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.Credit\n" +
"FROM tblCustomer c OUTER APPLY\n" +
" (SELECT TOP (1) p.*\n" +
" FROM tblPayments p\n" +
" WHERE c.CustomerNumber = p.CustomerNumber\n" +
" ORDER BY p.id DESC\n" +
" ) p;",
Client.class) // THIS WAS MISSING
.getResultList();