【发布时间】:2025-12-12 08:45:01
【问题描述】:
我正在使用这个很棒的库,但我遇到了问题。
我正在实现 DTO 模式,因此我使用另一个项目使用命名约定将 EJB 自动转换为 DTO。
然后,我想查询 DTO 并获得真正的结果(EJB 查询)。
我在我的 ENTITIES 上使用 JPAAnnotationProcessor 实现了 QueryDSL,在我的 DTO 上实现了 QuerydslAnnotationProcessor。
例如:
- 实体用户(长 ID、字符串用户名、站点站点)
- DTO UserDto(Long id, String username, String siteName)
转换对象就好了,“siteName”自动匹配“site.name”。
所以,我输入了一个 QueryDSL 查询,例如:userDto.id.gt(20).and(userDto.username.like("a%")).and(userDto.siteName.like("%b"));
我正在寻找一种方法来构建相应的实体查询
我唯一的想法是:
- 克隆查询
- 将路径“userDto”更改为“user”
- 验证每个谓词以了解属性是否存在以及类型是否匹配
有什么方法可以做到这一点或达到我的目标吗?
谢谢
【问题讨论】:
标签: java dto predicate querydsl visitor-pattern