spring-boot - 我想在QueryDsl的@QueryProjection注解中查询时使用多个对象域
问题描述
我知道在querydsl中有几种投影方法。
像这个Projection.bean、Projection.field、Projection.constructor。
但我想做@QueryProjection 注释,但它不起作用。
创建的Entity和Dto类如下。
@NoArgsConstructor
@Entity
public class User {
@Id
@GeneratedValue
private Long id;
@Column(length = 64)
private String email;
@Column(length = 64)
private String name;
@Embedded
private Address address;
@Column
private Date updateDateTime;
@Column
private Date createDateTime;
}
@Data
@NoArgsConstructor
public class UserDto {
private Long id;
private String name;
private String email;
private AddressDto address;
@QueryProjection
public UserDto (Long id,String name,String email,Address address) {
this.id = id;
this.name = name;
this.email = email;
this.address = address;
}
}
是查询代码有问题,但是如下。
public List<UserDto> getUser(UserDto dto) {
return queryFactory
.select(new QUserDto(user.id,user.name,user.email, user.address))
.from(user)
.fetch();
}
如果您能提供帮助,我将不胜感激。
解决方案
推荐阅读
- bash - 在没有 Python 的情况下生成 Jupyter Notebook 密码
- karate - 具有默认值的嵌入式表达式 (JSON/YML)
- python - 如何使用numpy根据向量索引条件获取布尔二维数组?
- kubernetes - aws ebs csi 驱动程序无法使用附加到 ec2-instance 的 IAM 角色创建持久卷
- security - 我如何才能完全信任 SAML IDP?
- php - PHP CS Fixer - 丑陋的缩进
- python-3.x - 无法根据条件获取索引
- r - 将脚注文本添加到各个医院的 ggplot2 图表
- python-3.x - Django:如何在不删除数据库的情况下将 cat_id 更改为 cat_slug?
- javascript - 我的 index.js 文件缺少 app.js 文件的哪一部分?