Я использую Spring Data JPA для создания микро сервисов. В хранилище я использую JPQL
запрос. Используя следующий код, я могу получить набор данных. Но я хочу повторить набор данных для дальнейшей логики.
Для итерации я использовал for each
, но когда я использую для каждого цикла, я получаю ошибку "java.util.HashMap cannot be cast to com.spacestudy.model.RoomDepartmentMapping",
public Set<RoomDepartmentMapping> loadStatusOfRooms() {
Set<RoomDepartmentMapping> roomDeptMapping = roomDeptMappingRepo.findStaus();
return roomDeptMapping;
}
}
Репозиторий
@Repository
public interface RoomDepartmentMappingRepository extends JpaRepository<RoomDepartmentMapping, Integer> {
@Query("select new map(roomDeptMap.sStatus as sStatus) from RoomDepartmentMapping as roomDeptMap")
Set<RoomDepartmentMapping> findStaus();
}
Результат
[
{
"sStatus": "A"
},
{
"sStatus": "I"
},
{
"sStatus": "R"
}
]
Ожидаемый результат
[
{
"sStatus": "Accepted"
},
{
"sStatus": "In Progress"
},
{
"sStatus": "Remaining"
}
]
Для получения ожидаемого результата я пытаюсь выполнить итерацию набора данных для каждого и планирую использовать регистр переключения. Но я не могу повторить, используя следующий цикл.
Для каждой петли
for(RoomDepartmentMapping roomDeptMappingObj:roomDeptMapping) {
System.out.println(roomDeptMappingObj);
}
Может кто-нибудь сказать мне, почему я не могу перебирать наборы для каждого цикла?
Или, пожалуйста, предложите любой другой способ сделать это.