如何从此查询中检索匹配的ID并将其添加到查询底部的列表中?目前我得到一个包含结果的列表,但我不知道它们匹配的参数中有什么ID。
在代码中查看评论。
P.S。这不是完整的查询,我把它缩小了,因此更容易阅读。
@Override
public List<EventDTO> getTotalEventByFilter(List<Long> idList){
QActivity subActivity = new QActivity("subActivity");
QUser subUser = new QUser("subUser");
QAttendancelist subAttendancelist = new QAttendancelist("subAttendancelist");
ListSubQuery<Long> allUserAtEvent = new JPASubQuery().from(qUser)
.innerJoin(qUser.attendancelist, qAttendancelist)
.innerJoin(qAttendancelist.activity, qActivity)
.where(qActivity.id.in(idList)) //<--- I need to know with what ID it matched to and add that ID to the list at the bottom of the code
.where(qAttendancelist.present.isTrue())
.list(user.id);
ListSubQuery<LocalDate> eventDate = new JPASubQuery().from(qActivity)
.where(qActivity.id.in(idList))
.list(qActivity.activityDate);
List<EventDTO> query = from(qUser)
.innerJoin(qUser.attendancelist, qAttendancelist)
.innerJoin(qAttendancelist.activity, qActivity)
.leftJoin(qActivity.activityLocation, qActivityLocation)
.where(user.id.in(allUserAtEvent))
.where(qActivity.id.notIn(idList))
.where(qAttendancelist.present.isTrue())
.where(qActivity.activityDate.gtAll(eventDate))
.groupBy(qActivity.name, qActivityLocation.name, qActivity.activityDate)
.orderBy(user.id.desc())
.list(new QEventDTO(qActivity.id, qActivity.name, qActivityLocation.name, //the matched ID));
return query;
}
答案 0 :(得分:0)
您的Activity类(由qActivity对象在此查询中表示)具有一个名为“id”的属性,即参数匹配的属性。