使用 spring boot DTO 从 sql 视图创建嵌套响应

问题描述 投票:0回答:0

我有一个从多个表生成的视图,我想从视图返回一个嵌套的响应,如下所示。

 [
  {
   "id":"c2bb81dd-6837-4dd7-b903-4c2ec938f78a",
   "name":"Olive Oil",
   "date":"2023-01-05",
   "quantity":180,
   "consumption":50,
   "demand":0.00,
   "max":100.00,
   "safety":20.00,
   "unit":"L",
   "consumedProducts":[
     {
        "id":"197f88e6-b941-414d-b571-8be6a64ce82f",
        "name":"Burger",
     },
     {
        "id":"0010f6d6-71d3-4553-aaf5-96383b3c0c28",
        "name":"Sandwich",
     }
   ],
   "wastage":{
     "preparation":15.25,
     "expiration":1
  }
 }
]

我想用投影写休眠查询来返回这个响应

视图数据。

enter image description here

我尝试了以下查询,但没有得到正确的响应

select new com.intelmatix.demo.service.dto.IngredientViewDTO( iview.id as id,\n"
        + "iview.name as name,\n"
        + "iview.date as date,\n"
        + "iview.quantity as quantity,\n"
        + "iview.consumption as consumption,\n"
        + "iview.demand as demand,\n"
        + "iview.max as max,\n"
        + "iview.safety as safety,\n"
        + "iview.type as type,\n"
        + "iview.pid as pid,\n"
        + "iview.productname as productname)\n"
        + "from IngredientView iview\n"
        + "group by  
     iview.id,iview.date,iview.quantity,iview.consumption,iview.demand,iview.type,iview.pid, iview.wastage \n
mysql spring-boot hibernate spring-data projection
© www.soinside.com 2019 - 2024. All rights reserved.