У меня есть собственный запрос к таблице в Spring Boot. Я хотел бы сохранить результаты в POJO.
public interface LegalRepository extends JpaRepository<LegalEntity, Long> {
@Query(value = "...SELECT company_id as id ,AVG((...)) as average ...." ,nativeQuery = true)
List<QueryObject> returnMeanValue();
}
LegalEntity является основным объектом для таблицы данных, а QueryObject является производным.
Результат запроса выглядит следующим образом:
company_id |средний
1 |1560850.633333333
2 |2365230,933333333
3 |13714243.266666666
4 |15375235.133333333
Это мой POJO:
@Entity
public class QueryObject {
@Id
Integer company_id;
@Column(name="average")
Double average;
public Integer getCompany_id() {
return company_id;
}
public void setCompany_id(Integer company_id) {
this.company_id = company_id;
}
public Double getAverage() {
return average;
}
public void setAverage(Double average) {
this.average = average;
}
@Override
public String toString() {
return "QueryObject [company_id=" + company_id + ", average=" + average + "]";
}
public QueryObject(Integer company_id, Double average) {
super();
this.company_id = company_id;
this.average = average;
}
}
Обратите внимание, что company_id уникален.
После выполнения:
@Bean
public void getUp() {
List<QueryObject> qo;
qo = leg_rep.returnMeanValue();
log.info(qo.get(0).toString());
}
Выдается следующее исключение:
org.springframework.core.convert.ConversionFailedException: Не удалось преобразовать тип [java.lang.Object []] в тип [QueryObject] для значения '{1, 1560850.633333333}';
вложенным исключением является org.springframework.core.convert.ConverterNotFoundException: не найден конвертер, способный преобразовывать тип [java.lang.Integer] в тип [QueryObject]
Как мне решить эту проблему?