我正在使用@Query并且得到这样的结果:[16315551234, 11111111111] 该结果来自数据类型为 String 的列,我试图通过 For 和 forEach 循环但出现错误,因为数据类型无法转换为我拥有的域如何为来自的结果循环正确的方法@Query?我是 Java 的新手,我真的很想对此进行解释:)我的查询:@Query("SELECT DISTINCT W.whatsappid FROM WhatsappChat W")
List<WhatsappChat> findAllContact();在我的@ServiceList<WhatsappChat> resultPerKey = whatsappChatRepository.findAllContact();当我记录结果时:它是这样的 ==>[16315551234, 11111111111]WhatsappChat is my @Entity / domain
1 回答

慕桂英3389331
TA贡献2036条经验 获得超8个赞
问题是您获取了实体的 ID,但期望实体在循环中。
您需要将查询结果作为字符串列表获取。
但正确的查询是:
@Query("SELECT DISTINCT W.whatsappid FROM WhatsappChat W")
List<String> findAllContact();
为了迭代列表,你可以这样做:
List<String> ids = respoitory.findAllContact();
ids.forEach(new Consumer<String>() {
@Override
public void accept(String s) {
//use String
}
});
添加回答
举报
0/150
提交
取消