猿问

如何在 spring-data-jpa 中进行投影

我正在使用@Query并且得到这样的结果:[16315551234, 11111111111] 该结果来自数据类型为 String 的列,我试图通过 For 和 forEach 循环但出现错误,因为数据类型无法转换为我拥有的域

如何为来自的结果循环正确的方法@Query?我是 Java 的新手,我真的很想对此进行解释:)

我的查询:

@Query("SELECT DISTINCT W.whatsappid FROM WhatsappChat W")
List<WhatsappChat> findAllContact();

在我的@Service

List<WhatsappChat> resultPerKey = whatsappChatRepository.findAllContact();

当我记录结果时:它是这样的 ==>[16315551234, 11111111111]

WhatsappChat is my @Entity / domain


森栏
浏览 69回答 1
1回答

慕桂英3389331

问题是您获取了实体的 ID,但期望实体在循环中。您需要将查询结果作为字符串列表获取。但正确的查询是:@Query("SELECT DISTINCT W.whatsappid&nbsp; FROM WhatsappChat W")List<String> findAllContact();为了迭代列表,你可以这样做:List<String> ids = respoitory.findAllContact();ids.forEach(new Consumer<String>() {&nbsp; @Override&nbsp; public void accept(String s) {&nbsp; &nbsp; //use String&nbsp; }});
随时随地看视频慕课网APP

相关分类

Java
我要回答