Я использую Spring Data JPA для создания сервисов. Используя Querydsl
Я получаю записи из нескольких таблиц. Я использовал отображение в модельных классах. RoomDepartmentMapping
класс модели отображается с department
и room
. и room
сопоставляется с building
.
Я хочу выбрать только building name
из building
.
Может кто-нибудь сказать мне, как я могу сделать?
QueryDSL
query.select(Projections.bean(RoomDepartmentMapping.class,roomDepartmentMapping.nRoomAllocationId,roomDepartmentMapping.sStatus,
Projections.bean(Department.class,department.nDeptId,department.sClientDeptId,department.sDeptName).as("department"),
Projections.bean(Room.class,room.nRoomId,room.sFloor,room.sRoomNumber,room.nBuildId,room.nCampusId,room.building).as("room")))
.from(roomDepartmentMapping);
Результат
[
{
"nRoomAllocationId": 1,
"sStatus": "A",
"department": {
"nDeptId": 21920,
"sDeptName": "Unassignable Space",
"sClientDeptId": "BBBBBB"
},
"room": {
"nRoomId": 883886,
"nCampusId": 231,
"nBuildId": 9713,
"sFloor": "9",
"sRoomNumber": "914",
"building": {
"nBuildingId": 9713,
"sBuildName": "Bronk Laboratory",
"sClientBuildId": "406",
"nBuildingInstId": 60,
"nTempBuildingId": 2,
"nNoOfFloors": 0
},
"nroomId": 883886
}
},
...
...
]