首页 > 解决方案 > 在 Spring Boot 中获取 GET API 服务中的重复列表值

问题描述

我正在从 DB 中获取正确的值,但是在 Spring Boot 中将列表对象添加到类对象时获取重复的列表值请建议我如何去做。

从数据库代码获取数据:这里的房间是我的数据库实体类

CriteriaBuilder roomsBuilder = roomSession.getCriteriaBuilder();
CriteriaQuery<Rooms> query = roomsBuilder.createQuery(Rooms.class);
Root<Rooms> root = query.from(Rooms.class);
Predicate userRestriction = roomsBuilder.or(roomsBuilder.notEqual(root.get(SmatrEntityParameters.IS_DELETED), "Y"),
                roomsBuilder.isNull(root.get(SmatrEntityParameters.IS_DELETED)));
Predicate userRestriction2 = roomsBuilder.and(roomsBuilder.equal(root.join("properties").get(SmatrEntityParameters.PROPERTY_ID), propertyId));
query.where(roomsBuilder.and(userRestriction, userRestriction2));
Query q = roomSession.createQuery(query);
List<Rooms> getroomslistobj= q.getResultList();

迭代列表代码:这里 getAllRoomsobj 表示主响应 pojo 类

List<GetAllRooms> getallroomslistobj = new ArrayList<GetAllRooms>();
    for (int i = 0; i < getroomslistobj.size(); i++) {    
                        int dbroomId = getroomslistobj.get(i).getRoomId();
                        String dbroomName = getroomslistobj.get(i).getRoomName();
              // Actual code start
                        getAllRoomsobj.setRoomId(dbroomId);
                        getAllRoomsobj.setRoomName(dbroomName);
                        getallroomslistobj.add(getAllRoomsobj);
    
             // Actual code end
    }

我在实际代码中间尝试了一个代码,但我不想为响应类创建一个新对象:

GetAllRooms object = new GetAllRooms();
                object.setRoomId(dbroomId);
                object.setRoomName(dbroomName);
                getallroomslistobj.add(object);

请帮帮我,

提前致谢

标签: javaspringspring-boothibernatejpa

解决方案


你可以通过java8的stream.map()试试


推荐阅读