Spring Data 返回 List

2024-03-29

我有这个存储库:

@Repository
public interface ProductRepository extends JpaRepository<Product, Long>{

@Query("SELECT p.textToSearch as text, count(*) as counter FROM Product p GROUP BY text_to_search ORDER BY counter DESC")
List<TopProductDTO> findTopProducts();
}

其中 TopProductDTO 类是:

public class TopProductDTO {

public TopProductDTO() {}

private String text;
private Integer counter;

// Getters and Setters are omited
}

但是当我执行代码时

List<TopProductDTO> topProducts = productRepository.findTopProducts();

它返回一个

List<Object[]> insted a List<TopProductDTO>

就像每一列都是列表中对象数组的索引一样...... Spring Data 不应该将查询中的“text”和“counter”列与 TopProductDTO 中的字段绑定吗?

结果我在我的 Thymeleaf 模板中遇到了这个错误:

00:37:22.659 [http-nio-8080-exec-5] ERROR o.a.c.c.C.[.[.[.[dispatcherServlet] - Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is org.thymeleaf.exceptions.TemplateProcessingException: Exception evaluating SpringEL expression: "topProductDTO.text" (products/top:46)] with root cause
org.springframework.expression.spel.SpelEvaluationException: EL1008E:(pos 14): Property or field 'text' cannot be found on object of type 'java.lang.Object[]' - maybe not public?

我正在使用 Spring Boot 1.3.3 和 Postgres 9.2


尝试使用 DTO 的构造函数。

声明一个新的构造函数

public TopProductDTO(String text, Integer count) {
    this.text = text;
    this.count = count;
}

在您的查询中使用新的构造函数

@Query("SELECT new TopProductDTO(p.textToSearch, count(id))FROM Product p GROUP BY text_to_search ORDER BY counter DESC")
List<TopProductDTO> findTopProducts();
}

使用您的班级的完全限定名称。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Spring Data 返回 List 的相关文章

  • JAXb、Hibernate 和 beans

    目前我正在开发一个使用 Spring Web 服务 hibernate 和 JAXb 的项目 1 我已经使用IDE hibernate代码生成 生成了hibernate bean 2 另外 我已经使用maven编译器生成了jaxb bean
  • INSERT..RETURNING 在 JOOQ 中不起作用

    我有一个 MariaDB 数据库 我正在尝试在表中插入一行users 它有一个生成的id我想在插入后得到它 我见过this http www jooq org doc 3 8 manual sql building sql statemen
  • 无法展开 RemoteViews - 错误通知

    最近 我收到越来越多的用户收到 RemoteServiceException 错误的报告 我每次给出的堆栈跟踪如下 android app RemoteServiceException Bad notification posted fro
  • Spark 1.3.1 上的 Apache Phoenix(4.3.1 和 4.4.0-HBase-0.98)ClassNotFoundException

    我正在尝试通过 Spark 连接到 Phoenix 并且在通过 JDBC 驱动程序打开连接时不断收到以下异常 为简洁起见 下面是完整的堆栈跟踪 Caused by java lang ClassNotFoundException org a
  • Liferay ClassNotFoundException:DLFileEntryImpl

    在我的 6 1 0 Portal 实例上 带有使用 ServiceBuilder 和 DL Api 的 6 1 0 SDK Portlet 这一行 DynamicQuery query DynamicQueryFactoryUtil for
  • Mockito when().thenReturn 不必要地调用该方法

    我正在研究继承的代码 我编写了一个应该捕获 NullPointerException 的测试 因为它试图从 null 对象调用方法 Test expected NullPointerException class public void c
  • 十进制到八进制的转换[重复]

    这个问题在这里已经有答案了 可能的重复 十进制转换错误 https stackoverflow com questions 13142977 decimal conversion error 我正在为一个类编写一个程序 并且在计算如何将八进
  • 如何为俚语和表情符号构建正则表达式 (regex)

    我需要构建一个正则表达式来匹配俚语 即 lol lmao imo 等 和表情符号 即 P 等 我按照以下示例进行操作http www coderanch com t 497238 java java Regular Expression D
  • 从 127.0.0.1 到 2130706433,然后再返回

    使用标准 Java 库 从 IPV4 地址的点分字符串表示形式获取的最快方法是什么 127 0 0 1 到等效的整数表示 2130706433 相应地 反转所述操作的最快方法是什么 从整数开始2130706433到字符串表示形式 127 0
  • Java TestNG 与跨多个测试的数据驱动测试

    我正在电子商务平台中测试一系列商店 每个商店都有一系列属性 我正在考虑对其进行自动化测试 是否有可能有一个数据提供者在整个测试套件中提供数据 而不仅仅是 TestNG 中的测试 我尝试不使用 testNG xml 文件作为机制 因为这些属性
  • Java Integer CompareTo() - 为什么使用比较与减法?

    我发现java lang Integer实施compareTo方法如下 public int compareTo Integer anotherInteger int thisVal this value int anotherVal an
  • Postgres 中的输出 Inserted.id 等效项

    我是 PostgreSQL 新手 正在尝试将 mssql 脚本转换为 Postgres 对于合并语句 我们可以使用冲突更新插入或不执行任何操作 但我使用下面的语句 不确定这是否是正确的方法 MSSQL代码 Declare tab2 New
  • Google App Engine 如何预编译 Java?

    App Engine 对应用程序的 Java 字节码使用 预编译 过程 以增强应用程序在 Java 运行时环境中的性能 预编译代码的功能与原始字节码相同 有没有详细的信息这是做什么的 我在一个中找到了这个谷歌群组消息 http groups
  • 无法捆绑适用于 Mac 的 Java 应用程序 1.8

    我正在尝试将我的 Java 应用程序导出到 Mac 该应用程序基于编译器合规级别 1 7 我尝试了不同的方法来捆绑应用程序 1 日食 我可以用来在 Eclipse 上导出的最新 JVM 版本是 1 6 2 马文 看来Maven上也存在同样的
  • 如何从终端运行处理应用程序

    我目前正在使用加工 http processing org对于一个小项目 但是我不喜欢它附带的文本编辑器 我使用 vim 编写所有代码 我找到了 pde 文件的位置 并且我一直在从 vim 中编辑它们 然后重新打开它们并运行它们 重新加载脚
  • Android 中麦克风的后台访问

    是否可以通过 Android 手机上的后台应用程序 服务 持续监控麦克风 我想做的一些想法 不断聆听背景中的声音信号 收到 有趣的 音频信号后 执行一些网络操作 如果前台应用程序需要的话 后台应用程序必须能够智能地放弃对麦克风的访问 除非可
  • 声明的包“”与预期的包不匹配

    我可以编译并运行我的代码 但 VSCode 中始终显示错误 早些时候有一个弹出窗口 我不记得是什么了 我点击了 全局应用 从那以后一直是这样 Output is there but so is the error The declared
  • 使用 postgres 和 node js 在单个语句中执行多个查询

    我需要在像这样的单个语句中执行插入和删除查询 INSERT INTO COMPANY ID NAME VALUES 1 Paul DELETE FROM COMPANY WHERE ID 12 这是我用于执行查询的 node js 代码 p
  • Spring Boot @ConfigurationProperties 不从环境中检索属性

    我正在使用 Spring Boot 1 2 1 并尝试创建一个 ConfigurationProperties带有验证的bean 如下所示 package com sampleapp import java net URL import j
  • 使用 xpath 和 vtd-xml 以字符串形式获取元素的子节点和文本

    这是我的 XML 的一部分

随机推荐

  • .NET Core 项目添加对 .NET Framework 项目的引用。为什么有可能?

    我有以下项目 NET Core 2 0 Web 应用程序 NET Standard 2 0 类库 NET Framework 4 5 类库 我将 net框架类库的引用添加到asp net core web api项目中 看起来效果很好 我想
  • 如何在运行不同 php 版本的服务器上安装 laravel

    我在默认运行 php 5 3 的服务器下安装 laravel 时遇到问题 但我可以选择一个 php 版本在任何特定目录下运行 guzzlehttp guzzle 4 1 2 requires php gt 5 4 0 gt your PHP
  • feed_dict 中的喂养问题(Tensorflow)

    我的 raw data 是 PTB 数据集 我通过以下代码生成批次 def generate batches raw data batch size unrollings global data index data len len raw
  • IE 11 平滑滚动不触发中间滚动事件

    如果我们做一个简单的测试用例 例如 document documentElement addEventListener scroll function console log document documentElement scrollT
  • 如何在 VBA for Excel 中引用复选框

    我使用开发人员功能区 gt 插入 gt ActiveX 控件 gt 复选框创建了一个复选框 我想编写一个子代码 当选中该框时 PCAPV10 工作表中的一系列值将复制到 BOM 工作表上的一个范围中 我不确定我是否在代码中正确引用了我的复选
  • OpenGL显示列表大小的限制

    有谁知道将太多 OpenGL 调用放入显示列表中是否会导致其失败 如果是这样 有人估计有多少个电话可以做到这一点吗 和显存有关系吗 我从 JOGL 调用 OpenGL 但我认为这并不重要 根据这个文档页 http www opengl or
  • 将 varchar 值转换为数据类型 int 时转换失败

    我有一个 varchar 1000 列声明为包含所有数字的字段 如下所示 我想执行以下脚本 我需要这个才能工作 Declare PostalCode varchar 1000 0 set PostalCode 7005036 7004168
  • 如何使用ML模型和FastAPI处理多个用户的请求?

    我正在研究通过FastAPI分发人工智能模块的过程 我创建了一个 FastAPI 应用程序 它使用预先学习的机器学习模型来回答问题 在这种情况下 一个用户使用是没有问题的 但是当多个用户同时使用时 响应可能会太慢 那么 当多个用户输入问题时
  • 如何让MySQL像SQLite一样处理字符串,涉及Unicode和排序规则?

    我已经在 SO MySQL 文档和其他地方研究这个问题几个小时了 但仍然找不到令人满意的解决方案 问题是 让 MySQL 像 SQLite 一样处理字符串而不需要任何额外的 智能 转换的最简单方法是什么 例如 以下代码在 SQLite 中完
  • 如何使用 bazel 中的 make 规则链接库构建

    我已经使用构建了一个 lib so在 bazel 中制定规则 https stackoverflow com questions 58035752 building makefile using bazel 如何将此外部 lib so 链接
  • 将“名字姓氏”更改为“姓氏,名字”

    我有一个姓名列表 需要将其从 名字姓氏 转换为 姓氏 名字 Barack Obama Donald J Trump J Edgar Hoover Beyonce Knowles Carter Sting 我用了 G Grothendieck
  • 以编程方式触发 ResponsiveSlides.js

    我在用着响应式幻灯片 js http responsive slides viljamis com 我正在尝试以编程方式更改幻灯片 我已经尝试过两种方法 但都没有成功 调用插件的slideTo来自缩略图上的单击事件的函数 传递它应该转到的幻
  • JavaScript 是否有相当于 VBScript 的 ExecuteGlobal 的功能?

    javascript 中是否有 ExecuteGlobal 的替代方案 Function vbExecuteGlobal parmSCRIPT ExecuteGlobal parmSCRIPT End Function DevGuru 描述
  • 使用 Sumifs() 的更快方法

    我每周有一项任务 需要更新一份报告 目前刚刚超过 50K 行 该报告每周都会增长约 500 行 手动添加新数据后 我运行下面的代码来执行Sumifs 总结数据 数据结构为 A 至 C 列是标准列 数字 字母 数字 D 列包含要求和的数量 整
  • 根据两列删除重复项

    我有这张表 我想要一个 SELECT 来排除标记的行 一般规则是 如果有两行或多行的 controlname AND Brandname AND grouptypes 列相等 然后保留组名不是 Keine Zuordnung 的行 CONT
  • 如何将过滤器应用于具有多个“AND”条件的 DataView

    我有一个DataTable包含一些行 哪个被复制到DataView 现在我的 ID 格式为List
  • 使用 JQuery 从出生日期计算年龄

    我需要使用 JQuery 计算某人从出生日期算起是否已超过 18 岁 var curr new Date curr setFullYear curr getFullYear 18 var dob Date parse this text i
  • DataGridView 复选框列 - 值和功能

    我已在 C 表单中的 DataGridView 中添加了一个复选框列 该功能需要是动态的 您选择一个客户 然后显示他们可以提供服务的所有项目 然后您选择这次希望为其中哪些项目提供服务 不管怎样 代码现在将在 DGV 的开头添加一个复选框 我
  • N 个相同处理器上的任务调度的精确算法?

    我正在寻找精确的算法 可以在 N 个相同的处理器中找到任务调度的最佳解决方案 该算法的时间并不重要 最重要的是一个最佳解决方案 完成最后一个任务时所有处理器的最短时间 理论上描述该算法的方程如下 P Cmax 如果有人有算法 尤其是 Jav
  • Spring Data 返回 List

    我有这个存储库 Repository public interface ProductRepository extends JpaRepository