Java JPA查询-将匹配的id添加到列表
如何从该查询中检索匹配的id并将其添加到查询底部的列表中?目前我得到了一个包含结果的列表,但我不知道它们匹配的参数中的ID是什么 请参阅代码中的注释 另外,这不是完整的查询,我把它缩小了,这样更容易阅读Java JPA查询-将匹配的id添加到列表,java,querydsl,Java,Querydsl,如何从该查询中检索匹配的id并将其添加到查询底部的列表中?目前我得到了一个包含结果的列表,但我不知道它们匹配的参数中的ID是什么 请参阅代码中的注释 另外,这不是完整的查询,我把它缩小了,这样更容易阅读 @Override public List<EventDTO> getTotalEventByFilter(List<Long> idList){ QActivity subActivity = new QActivity("subActivity");
@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;
}
@覆盖
公共列表getTotalEventByFilter(列表idList){
QActivity subActivity=新QActivity(“subActivity”);
QUser subUser=新QUser(“subUser”);
QAttendancelist subAttendancelist=新QAttendancelist(“subAttendancelist”);
ListSubQuery AllusateEvent=new JPASubQuery().from(qUser)
.innerJoin(qUser.attendancelist,qAttendancelist)
.innerJoin(qAttendancelist.activity,qActivity)
.where(qActivity.id.in(idList))/您的活动类(在此查询中由qActivity对象表示)有一个名为“id”的属性,这就是参数所匹配的。它与idList中的id匹配。因此,如果列表有3个id,并且查询返回15个结果,那么在这15个结果中,我需要知道哪些结果属于id#1,哪些结果属于id#2等。我编辑了参数的名称以便于理解