java - 在 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);
请帮帮我,
提前致谢
解决方案
你可以通过java8的stream.map()试试
推荐阅读
- kubernetes-helm - helm install:错误:此命令需要 1 个参数:图表名称
- pandas - 'pip' 不是内部命令或外部命令、可执行程序或批处理文件
- arrays - 如何检查二维数组中一行的元素
- javascript - 如何使用 Google Optimize 在 A/B 实验的结束正文标记之前添加脚本标记?
- android - 如何使 EditText 中的链接不可点击
- java - 如何检查连接是否是性能瓶颈
- python - TypeError:字符串索引必须是带有熊猫数据框的整数
- debugging - 为调试会话分配可执行文件名 (Visual Studio 2019)
- c# - 如何将泛型限制为枚举和整数数字类型
- java - Spring 4:带有@Bean的方法被递归拦截