querydsl如何实现 select a.sno,(select xxx from table b where a.sno=b.sno) from table a 这种查询? 5C

QVTrace trace = QVTrace.vTrace;
QVTrace subTrace = QVTrace.vTrace;

    DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");

    SubQueryExpression<LocalDateTime> query = JPAExpressions.select(subTrace.recordTime)
            .from(subTrace).where(subTrace.id.eq(trace.id)).orderBy(subTrace.recordTime.desc()).limit(1);

    List<Map<String, Object>> list = getQueryFactory().select(trace.id,trace.name,query)
                                    .from(trace)
                                    .where(trace.userId.eq(userId))
                                    .orderBy(trace.recordTime.desc())
                                    .fetch()
                                    .stream()
                                    .map(tuple -> {
                                        Map<String, Object> map = new HashMap<String, Object>();
                                        map.put("id", tuple.get(trace.id));
                                        map.put("name", tuple.get(trace.name));
                                        map.put("recordTime", tuple.get(query).format(df));
                                        return map;
                                    }).collect(Collectors.toList());


                                            我是这样实现的 但是发现结果不对
sql

1个回答

qq_33649431
钢铁侠亚洲分侠 大佬你好,我想请问一下,使用querydsl jpa 多表关联,并使用分组查询时,自定义返回的对象中包含其它的实体类,应该怎么写查询语句
一年多之前 回复
lyl2239
lyl2239 谢谢 适用场景有些不同
一年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐