gpt4 book ai didi

java - Spring JPA -> 将 ResultSet 映射到不存在的实体

转载 作者:行者123 更新时间:2023-12-01 18:36:00 25 4
gpt4 key购买 nike

我需要将 native 查询的返回映射到对象

  • 这是我的 native 查询
@Query(value = "select collector from relation;", nativeQuery = true)
Stream<RelationStatistics> findRelationsStatistics();
  • 这是我的对象
 public class RelationStatistics {
private String collector;
public RelationStatistics(String collector) {
this.collector = collector;
}
public String getCollector() {
return collector;
}
public void setCollector(String collector) {
this.collector = collector;
}
}
  • 这是我的测试
    @Test
public void test() {
Stream<RelationStatistics> test = relations.findRelationsStatistics();
test.forEach(item -> System.out.println(item));
}

这个测试返回我:

    org.springframework.core.convert.ConverterNotFoundException: No converter found capable of converting from type [org.springframework.data.jpa.repository.query.AbstractJpaQuery$TupleConverter$TupleBackedMap] to type [RelationStatistics]

这是一个只有一个字符串属性的示例,但原始 native 查询是一个很大的请求,因此创建实体将太困难。

我找到了SqlResultSetMapping,但我不太明白如何正确使用它

如果有人知道可以做什么0_o

最佳答案

我在这里找到了解决方案:JPA : How to convert a native query result set to POJO class collection

通过 getCollector() 方法将投影与接口(interface)一起用作对象,并使用此方法进行映射

关于java - Spring JPA -> 将 ResultSet 映射到不存在的实体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60043207/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com