Leo*_*rdo 4 java spring jpa spring-data spring-data-jpa
我想进行复杂的查询并将结果映射到 DTO。DTO 如下:
@Value(staticConstructor = "of")
public class TotalsDto {
LocalDate date;
long totals;
long totalPerCategory;
int categoryId;
String categoryName;
}
Run Code Online (Sandbox Code Playgroud)
我的存储库界面是从JpaRepository. 这是抛出一个IllegalArgumentException: Not a managed type,因为TotalsDto它本身不是实体。
存储库是:
@Repository
public interface TotalsRepository extends JpaRepository<TotalsDto, Integer> {
@Query(value = "SELECT ...", nativeQuery = true)
List<TotalsDto> getTotals(params...);
}
Run Code Online (Sandbox Code Playgroud)
查询正在从其他实体获取数据以构建 DTO。有什么方法可以将每一列映射到 DTO?我试图用下面的查询映射它,但它仍然得到Not a managed class.
SELECT my.package.TotalsDto.of(column1, subqueryResult1, subqueryResult2...)
Run Code Online (Sandbox Code Playgroud)
1)制作TotalsDto界面
2)创建吸气剂:
public interface TotalsDto{
long getTotals();
int getCategoryId();
...
}
Run Code Online (Sandbox Code Playgroud)
Spring Data Jpa 然后将自动创建/填充您的结果对象。
更多关于这里的主题
| 归档时间: |
|
| 查看次数: |
5174 次 |
| 最近记录: |