Java 使用QueryDSL SQL映射一对多关系
假设我有两个bean实体: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
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)));