Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用QueryDSL SQL映射一对多关系_Java_Sql_Jdbc_Querydsl - Fatal编程技术网

Java 使用QueryDSL SQL映射一对多关系

Java 使用QueryDSL SQL映射一对多关系,java,sql,jdbc,querydsl,Java,Sql,Jdbc,Querydsl,假设我有两个bean实体: public class Audit { private String code; private java.sql.Timestamp creationDate; private String creatorId; private java.sql.Timestamp deletionDate; private String description; private String id; priva

假设我有两个bean实体:

public class Audit {

   private String code;

    private java.sql.Timestamp creationDate;

    private String creatorId;

    private java.sql.Timestamp deletionDate;

    private String description;

    private String id;

    private String name;

    private String notes;

    private Short status;

    private List<AuditParticipant> participants;
}
。。。如果
Audit
可以有1..n
参与者
,我如何使用QueryDSL SQL将参与者列表投影到auditbean中(获取属于Audit的所有参与者)

bean是使用QueryDSL代码生成生成的


谢谢

Querydsl为此类情况提供了结果聚合功能

在这种情况下,它将类似于

query.from(audit)
     .innerJoin(participant).on(...)
     .transform(groupBy(audit.id).as(audit, list(participant)));
有关其他groupBy选项,请参见这些示例

query.from(audit)
     .innerJoin(participant).on(...)
     .transform(groupBy(audit.id).as(audit, list(participant)));