java - Spring data JPA with @Query 使用内部静态 DTO 类
问题描述
当我有一个没有元素的空枚举和带有字段接口的内部公共静态类时,我使用了一个特定的 DTO:
public enum AccountDTO {
;
private interface Id {
@Positive Long getId();
}
private interface Name {
@NotBlank String getName();
}
private interface Email {
@NotBlank String getEmail();
}
private interface DateOfBirth {
@Past LocalDate getDateOfBirth();
}
@Data
public static class Update implements Id, Name, DateOfBirth {
Long id;
String name;
LocalDate dateOfBirth;
public Update(Account account) {
this.id = account.getId();
this.name = account.getName();
this.dateOfBirth = account.getDateOfBirth();
}
}
}
所以,现在我需要在存储库中使用这个 DTO 和 @Query
@Query("select new ci.ashamaz.auth.dto.AccountDTO.Update"
+ "(a, true)"
+ " from Account a "
+ " group by a ")
Page<AccountDTO.Update> getAllAccountsUpdate(Pageable pageable, boolean needBlameInfo);
现在更新这个词被消息“无法解析符号'ForAdmin'”所覆盖 据我了解,当我们用引号将类名写在包中时,所有点都被解释为包文件夹。那么,有没有办法将内部静态类与 JPA @Query 一起使用?
解决方案
推荐阅读
- reactjs - 使用 LocalStorage 和 DB 反应状态无限循环
- terraform - “v”参数的值无效:无法将“”转换为数字;给定字符串 terraform eks 模块
- python - 迭代不同长度列表中的所有列表
- javascript - Javascript按钮删除整个表,应该只删除它创建的行
- android - 为什么每当我生成一个已签名的 APK 时都会收到重复输入错误?
- kotlin-multiplatform - 在 SQLDelight 中插入数据时没有这样的表
- sql - 根据查询中的日期删除行
- c++ - 如何将 vscode c++ stdout 重定向到调试输出?
- jquery - jquery DataTables 排序不正确
- wso2 - 如何使用 WSO2 SCIM 2.0 REST API 更新单个用户的组?