![](/img/trans.png)
[英]How to combine distinct and sort in spring data jpa specification query with joins
[英]how to combine 4 tables in spring jpa (Query)
我有一個數據表叫RoomBoy,數據是這樣的
"room": {
"id": 1,
"roomId": 40,
"floor": "1",
"roomNumber": "107",
"condition": null,
"status": "Waiting"
},
"bedType": {
"id": 1,
"bedTypeName": "Twin Bed"
},
"roomCategory": {
"id": 35,
"categoryName": "Superior"
},
"guestName": "RIKO JANUAR"
}
我還有一個名為 RoomBoyDetail 的表中的數據
{
"id": 1,
"roomBoyId": 1,
"productId": 3,
"productName": {
"id": 3,
"productName": "HORS D’OEUVRE VARIE"
},
"qty": 3,
"description": null
},
{
"id": 2,
"roomBoyId": 1,
"productId": 4,
"productName": {
"id": 4,
"productName": "CREAM OF VEGETABLES SOUP"
},
"qty": 2,
"description": null
},
{
"id": 3,
"roomBoyId": 1,
"productId": 5,
"productName": {
"id": 5,
"productName": "RAVIOLI AU JUS"
},
"qty": 2,
"description": null
}
我想組合這兩張表,具有相同的 id(來自 RoomBoy)和 roomBoyId(來自 RoomBoyDetail)。 我的代碼是這樣的
@Query("select new com.acs.pms.model.ObjekRoomBoyDetail(a,b.bedType,b.roomCategory,c.guestName,d.productName,d.qty,d.description) from RoomBoy a left outer join RoomMaster b on a.roomId = b.id "
+ "left outer join ReservationDetail c on a.roomNumber = c.roomNumber where c.checkinStatus = true and c.checkoutStatus = false "
+ "left outer join RoomBoyDetail d on a.id = d.roomBoyId")
Page<ObjekRoomBoyDetail> getAllDetail(
Pageable paging);
我有錯誤的意外令牌:在第 1 行附近離開
在 where 子句之后有一個左外連接:
select new com.acs.pms.model.ObjekRoomBoyDetail(a,b.bedType,b.roomCategory,c.guestName,d.productName,d.qty,d.description)
from RoomBoy a
left outer join RoomMaster b on a.roomId = b.id
left outer join ReservationDetail c on a.roomNumber = c.roomNumber
where c.checkinStatus = true and c.checkoutStatus = false
left outer join RoomBoyDetail d on a.id = d.roomBoyId
它應該是
select new com.acs.pms.model.ObjekRoomBoyDetail(a,b.bedType,b.roomCategory,c.guestName,d.productName,d.qty,d.description)
from RoomBoy a
left outer join RoomMaster b on a.roomId = b.id
left outer join ReservationDetail c on a.roomNumber = c.roomNumber
left outer join RoomBoyDetail d on a.id = d.roomBoyId
where c.checkinStatus = true and c.checkoutStatus = false
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.