Бесконечная рекурсия или что-то другое

Не могу разобраться с джойнами и рекусией. Хелп лиз. Любая помощь.

Сначала была такая ошибка, оооочень длинная

> 

2021-03-01 23:33:07.152 ERROR 5504 --- [nio-8080-exec-1] o.a.c.c.C.[.[.[/].[dispatcherServlet]    : 
Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Handler 
dispatch failed; nested exception is java.lang.StackOverflowError] with root cause

java.lang.StackOverflowError: null
at java.base/java.lang.Double.longBitsToDouble(Native Method) ~[na:na]
at 


~[na:na]
at java.base/jdk.internal.math.FloatingDecimal$BinaryToASCIIBuffer.dtoa(FloatingDecimal.java:515) ~ 
[na:na]
at java.base/jdk.internal.math.FloatingDecimal.getBinaryToASCIIConverter(FloatingDecimal.java:1785) ~ 
[na:na]
at java.base/jdk.internal.math.FloatingDecimal.getBinaryToASCIIConverter(FloatingDecimal.java:1738) ~ 
[na:na]
at java.base/jdk.internal.math.FloatingDecimal.toJavaFormatString(FloatingDecimal.java:70) ~[na:na]
at java.base/java.lang.Double.toString(Double.java:204) ~[na:na]
at java.base/java.lang.String.valueOf(String.java:3100) ~[na:na]
at app.models.Measures.toString(Measures.java:84) ~[classes/:na]
at java.base/java.lang.String.valueOf(String.java:2951) ~[na:na]
at java.base/java.lang.StringBuilder.append(StringBuilder.java:168) ~[na:na]
at java.base/java.util.AbstractCollection.toString(AbstractCollection.java:473) ~[na:na]
at org.hibernate.collection.internal.PersistentSet.toString(PersistentSet.java:300) ~[hibernate-core- 
5.2.12.Final.jar:5.2.12.Final]
at java.base/java.lang.String.valueOf(String.java:2951) ~[na:na]
at app.models.Sensors.toString(Sensors.java:66) ~[classes/:na]
at java.base/java.lang.String.valueOf(String.java:2951) ~[na:na]
at app.models.Measures.toString(Measures.java:84) ~[classes/:na]
at java.base/java.lang.String.valueOf(String.java:2951) ~[na:na]
at java.base/java.lang.StringBuilder.append(StringBuilder.java:168) ~[na:na]
at java.base/java.util.AbstractCollection.toString(AbstractCollection.java:473) ~[na:na]
at org.hibernate.collection.internal.PersistentSet.toString(PersistentSet.java:300) ~[hibernate-core- 
5.2.12.Final.jar:5.2.12.Final]
at java.base/java.lang.String.valueOf(String.java:2951) ~[na:na]
at app.models.Sensors.toString(Sensors.java:66) ~[classes/:na]
at java.base/java.lang.String.valueOf(String.java:2951) ~[na:na]
at app.models.Measures.toString(Measures.java:84) ~[classes/:na]
at java.base/java.lang.String.valueOf(String.java:2951) ~[na:na]
at java.base/java.lang.StringBuilder.append(StringBuilder.java:168) ~[na:na]
at java.base/java.util.AbstractCollection.toString(AbstractCollection.java:473) ~[na:na]
at org.hibernate.collection.internal.PersistentSet.toString(PersistentSet.java:300) ~[hibernate-core- 
5.2.12.Final.jar:5.2.12.Final]
at java.base/java.lang.String.valueOf(String.java:2951) ~[na:na]

Удалил из модели sensors из toString () measures, эта пропала и появилось то что ниже.

Entity

package app.models;

import org.hibernate.annotations.Fetch;
import org.hibernate.annotations.FetchMode;

import javax.persistence.*;
import java.io.Serializable;

@Entity
@Table(name = "measures")
public class Measures implements Serializable {
@Id
@Column(name = "reading_id")
@GeneratedValue(strategy = GenerationType.IDENTITY)
private long reading_id;

@Column(name = "sensor_id")
private Integer sensor_id;

@Column(name = "metric_id")
private Integer metric_id;

@Column(name = "rtime")
private String rtime;

@Column(name = "rvalue")
private double rvalue;

@ManyToOne(fetch = FetchType.EAGER)
@JoinColumn(name = "sensor_id", insertable = false, updatable = false)
@Fetch(FetchMode.JOIN)
private Sensors sensors;

public Sensors getSensors() {
    return sensors;
}

public void setSensors(Sensors sensors) {
    this.sensors = sensors;
}

public long getReading_id() {
    return reading_id;
}

public void setReading_id(long reading_id) {
    this.reading_id = reading_id;
}

public Integer getSensor_id() {
    return sensor_id;
}

public void setSensor_id(Integer sensor_id) {
    this.sensor_id = sensor_id;
}

public Integer getMetric_id() {
    return metric_id;
}

public void setMetric_id(Integer metric_id) {
    this.metric_id = metric_id;
}

public String getRtime() {
    return rtime;
}

public void setRtime(String rtime) {
    this.rtime = rtime;
}

public double getRvalue() {
    return rvalue;
}

public void setRvalue(double rvalue) {
    this.rvalue = rvalue;
}

@Override
public String toString() {
    return "Measures{" +
            "reading_id=" + reading_id +
            ", sensor_id=" + sensor_id +
            ", metric_id=" + metric_id +
            ", rtime='" + rtime + '\'' +
            ", rvalue=" + rvalue +
            ", sensors=" + sensors +
            '}';
}
}

Entity

package app.models;

import javax.persistence.*;
import java.io.Serializable;
import java.util.Set;


@Entity
@Table(name = "sensors")
public class Sensors implements Serializable {

@Id
@Column(name = "sensor_id")
@GeneratedValue(strategy = GenerationType.IDENTITY)
private long sensor_id;

@Column(name = "serial_code")
private String serial_code;

@Column(name = "name")
private String name;


@OneToMany(targetEntity = Measures.class,
        mappedBy = "sensor_id",
        orphanRemoval = false,
        fetch = FetchType.EAGER)

private Set<Measures> measures;

public Set<Measures> getMeasures() {
    return measures;
}

public void setMeasures(Set<Measures> measures) {
    this.measures = measures;
}

public long getSensor_id() {
    return sensor_id;
}

public void setSensor_id(long sensor_id) {
    this.sensor_id = sensor_id;
}

public String getSerial_code() {
    return serial_code;
}

public void setSerial_code(String serial_code) {
    this.serial_code = serial_code;
}

public String getName() {
    return name;
}

public void setName(String name) {
    this.name = name;
}

@Override
public String toString() {
    return "Sensors{" +
            "sensor_id=" + sensor_id +
            ", serial_code='" + serial_code + '\'' +
            ", name='" + name + '\'' +

            '}';
}
}

Service

package app.services;

import app.dto.MeasureAndSensorsDto;
import app.models.Sensors;
import app.repositories.MeasuresRepository;
import app.repositories.SensorsRepository;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;
import javax.transaction.Transactional;
import java.util.List;
@Service
public class JoinMeasureAndSensors {
@Resource
private MeasuresRepository measuresRepository;
@Resource
private SensorsRepository sensorsRepository;


public List<MeasureAndSensorsDto> getMeasureAndSensorsRightJoin() {
    List<MeasureAndSensorsDto> list = sensorsRepository.fetchEmpPosDataRightJoin();
    list.forEach(System.out::println);
    return list;
}
}
Контроллер

    @RequestMapping(value = "/getAllSensors", method = RequestMethod.GET)
public String getAllSensors(Model model) {
    model.addAttribute("sensors", sensorsRepository.findAll());
    System.out.println(joinMeasureAndSensors.getMeasureAndSensorsRightJoin());
    return "/sensors";
}

Repository

package app.repositories;

import app.dto.MeasureAndSensorsDto;
import app.models.Measures;
import app.models.Sensors;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.CrudRepository;
import org.springframework.stereotype.Repository;
import org.springframework.transaction.annotation.Transactional;

import java.util.List;
@Transactional
@Repository
public interface SensorsRepository extends JpaRepository<Sensors, Integer>, CrudRepository<Sensors, 
Integer> {
@Query(value = "SELECT new app.dto.MeasureAndSensorsDto( e.reading_id, e.metric_id, e.rtime, 
e.rvalue, d.name) " +
        "FROM Sensors d left JOIN d.measures e")
List<MeasureAndSensorsDto> fetchEmpPosDataRightJoin();
}

DTO

package app.dto;

public class MeasureAndSensorsDto {

private Long reading_id;
private Integer sensor_id;
private String metric_id;
private double rtime;
private String rvalue;

public MeasureAndSensorsDto(Long reading_id, Integer sensor_id, String metric_id, double rtime, 
String rvalue ){
    this.reading_id = reading_id;
    this.sensor_id = sensor_id;
    this.metric_id = metric_id;
    this.rtime = rtime;
    this.rvalue = rvalue;
}

public Long getReading_id() {
    return reading_id;
}

public void setReading_id(Long reading_id) {
    this.reading_id = reading_id;
}

public Integer getSensor_id() {
    return sensor_id;
}

public void setSensor_id(Integer sensor_id) {
    this.sensor_id = sensor_id;
}

public String getMetric_id() {
    return metric_id;
}

public void setMetric_id(String metric_id) {
    this.metric_id = metric_id;
}

public double getRtime() {
    return rtime;
}

public void setRtime(double rtime) {
    this.rtime = rtime;
}

public String getRvalue() {
    return rvalue;
}

public void setRvalue(String rvalue) {
    this.rvalue = rvalue;
}

@Override
public String toString() {
    return "MeasureAndSensorsDto{" +
            "reading_id=" + reading_id +
            ", sensor_id=" + sensor_id +
            ", metric_id=" + metric_id +
            ", rtime='" + rtime + '\'' +
            ", rvalue='" + rvalue + '\'' +
            '}';
}
}

Ошибка в консоли,

    2021-03-02 20:25:17.811 ERROR 5452 --- [nio-8080-exec-3] o.a.c.c.C.[.[.[/].[dispatcherServlet]    : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is org.springframework.dao.InvalidDataAccessApiUsageException: org.hibernate.QueryException: could not instantiate class [app.dto.MeasureAndSensorsDto] from tuple; nested exception is java.lang.IllegalArgumentException: org.hibernate.QueryException: could not instantiate class [app.dto.MeasureAndSensorsDto] from tuple] with root cause

java.lang.IllegalArgumentException: null
    at jdk.internal.reflect.GeneratedConstructorAccessor47.newInstance(Unknown Source) ~[na:na]
    at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[na:na]
    at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490) ~[na:na]
    at org.hibernate.transform.AliasToBeanConstructorResultTransformer.transformTuple(AliasToBeanConstructorResultTransformer.java:37) ~[hibernate-core-5.2.12.Final.jar:5.2.12.Final]
    at org.hibernate.hql.internal.HolderInstantiator.instantiate(HolderInstantiator.java:85) ~[hibernate-core-5.2.12.Final.jar:5.2.12.Final]
    at org.hibernate.loader.hql.QueryLoader.getResultList(QueryLoader.java:470) ~[hibernate-core-5.2.12.Final.jar:5.2.12.Final]
    at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2507) ~[hibernate-core-5.2.12.Final.jar:5.2.12.Final]
    at org.hibernate.loader.Loader.list(Loader.java:2502) ~[hibernate-core-5.2.12.Final.jar:5.2.12.Final]
    at org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:502) ~[hibernate-core-5.2.12.Final.jar:5.2.12.Final]
    at org.hibernate.hql.internal.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:384) ~[hibernate-core-5.2.12.Final.jar:5.2.12.Final]
    at org.hibernate.engine.query.spi.HQLQueryPlan.performList(HQLQueryPlan.java:216) ~[hibernate-core-5.2.12.Final.jar:5.2.12.Final]
    at org.hibernate.internal.SessionImpl.list(SessionImpl.java:1490) ~[hibernate-core-5.2.12.Final.jar:5.2.12.Final]
    at org.hibernate.query.internal.AbstractProducedQuery.doList(AbstractProducedQuery.java:1445) ~[hibernate-core-5.2.12.Final.jar:5.2.12.Final]
    at org.hibernate.query.internal.AbstractProducedQuery.list(AbstractProducedQuery.java:1414) ~[hibernate-core-5.2.12.Final.jar:5.2.12.Final]
    at org.hibernate.query.Query.getResultList(Query.java:146) ~[hibernate-core-5.2.12.Final.jar:5.2.12.Final]
    at org.springframework.data.jpa.repository.query.JpaQueryExecution$CollectionExecution.doExecute(JpaQueryExecution.java:126) ~[spring-data-jpa-2.4.5.jar:2.4.5]
    at org.springframework.data.jpa.repository.query.JpaQueryExecution.execute(JpaQueryExecution.java:88) ~[spring-data-jpa-2.4.5.jar:2.4.5]
    at org.springframework.data.jpa.repository.query.AbstractJpaQuery.doExecute(AbstractJpaQuery.java:155) ~[spring-data-jpa-2.4.5.jar:2.4.5]
    at org.springframework.data.jpa.repository.query.AbstractJpaQuery.execute(AbstractJpaQuery.java:143) ~[spring-data-jpa-2.4.5.jar:2.4.5]
    at org.springframework.data.repository.core.support.RepositoryMethodInvoker.doInvoke(RepositoryMethodInvoker.java:137) ~[spring-data-commons-2.4.5.jar:2.4.5]
    at org.springframework.data.repository.core.support.RepositoryMethodInvoker.invoke(RepositoryMethodInvoker.java:121) ~[spring-data-commons-2.4.5.jar:2.4.5]
    at org.springframework.data.repository.core.support.QueryExecutorMethodInterceptor.doInvoke(QueryExecutorMethodInterceptor.java:152) ~[spring-data-commons-2.4.5.jar:2.4.5]
    at org.springframework.data.repository.core.support.QueryExecutorMethodInterceptor.invoke(QueryExecutorMethodInterceptor.java:131) ~[spring-data-commons-2.4.5.jar:2.4.5]
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.3.4.jar:5.3.4]
    at org.springframework.data.projection.DefaultMethodInvokingMethodInterceptor.invoke(DefaultMethodInvokingMethodInterceptor.java:80) ~[spring-data-commons-2.4.5.jar:2.4.5]
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.3.4.jar:5.3.4]
    at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123) ~[spring-tx-5.3.4.jar:5.3.4]
    at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:388) ~[spring-tx-5.3.4.jar:5.3.4]
    at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119) ~[spring-tx-5.3.4.jar:5.3.4]
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.3.4.jar:5.3.4]

... ... ... ... org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) ~[spring-web-5.3.4.jar:5.3.4] at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) ~[spring-web-5.3.4.jar:5.3.4] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.43.jar:9.0.43] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.43.jar:9.0.43] at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) ~[tomcat-embed-core-9.0.43.jar:9.0.43] at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) ~[tomcat-embed-core-9.0.43.jar:9.0.43] at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) ~[tomcat-embed-core-9.0.43.jar:9.0.43] at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) ~[tomcat-embed-core-9.0.43.jar:9.0.43] at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) ~[tomcat-embed-core-9.0.43.jar:9.0.43] at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) ~[tomcat-embed-core-9.0.43.jar:9.0.43] at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:346) ~[tomcat-embed-core-9.0.43.jar:9.0.43] at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) ~[tomcat-embed-core-9.0.43.jar:9.0.43] at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) ~[tomcat-embed-core-9.0.43.jar:9.0.43] at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:887) ~[tomcat-embed-core-9.0.43.jar:9.0.43] at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1684) ~[tomcat-embed-core-9.0.43.jar:9.0.43] at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) ~[tomcat-embed-core-9.0.43.jar:9.0.43] at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) ~[na:na] at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) ~[na:na] at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) ~[tomcat-embed-core-9.0.43.jar:9.0.43] at java.base/java.lang.Thread.run(Thread.java:834) ~[na:na]

И ошибка в браузере

There was an unexpected error (type=Internal Server Error, status=500). org.hibernate.QueryException: could not instantiate class [app.dto.MeasureAndSensorsDto] from tuple; nested exception is java.lang.IllegalArgumentException: org.hibernate.QueryException: could not instantiate class [app.dto.MeasureAndSensorsDto] from tuple org.springframework.dao.InvalidDataAccessApiUsageException: org.hibernate.QueryException: could not instantiate class [app.dto.MeasureAndSensorsDto] from tuple; nested exception is java.lang.IllegalArgumentException: org.hibernate.QueryException: could not instantiate class [app.dto.MeasureAndSensorsDto] from tuple at org.springframework.orm.jpa.EntityManagerFactoryUtils.convertJpaAccessExceptionIfPossible(EntityManagerFactoryUtils.java:374) at org.springframework.orm.jpa.vendor.HibernateJpaDialect.translateExceptionIfPossible(HibernateJpaDialect.java:235) at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.translateExceptionIfPossible(AbstractEntityManagerFactoryBean.java:551) at org.springframework.dao.support.ChainedPersistenceExceptionTranslator.translateExceptionIfPossible(ChainedPersistenceExceptionTranslator.java:61) at org.springframework.dao.support.DataAccessUtils.translateIfNecessary(DataAccessUtils.java:242) at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:152) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) at org.springframework.data.jpa.repository.support.CrudMethodMetadataPostProcessor$CrudMethodMetadataPopulatingMethodInterceptor.invoke(CrudMethodMetadataPostProcessor.java:145) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:215) at com.sun.proxy.$Proxy164.fetchEmpPosDataRightJoin(Unknown Source) at app.services.JoinMeasureAndSensors.getMeasureAndSensorsRightJoin(JoinMeasureAndSensors.java:21) at app.controllers.OptionsController.getAllSensors(OptionsController.java:53) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:197) at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:141) at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:106) at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:894) at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:808) at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1060) at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:962) at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:898) at javax.servlet.http.HttpServlet.service(HttpServlet.java:626) at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) at javax.servlet.http.HttpServlet.service(HttpServlet.java:733) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) at org.springframework.boot.actuate.metrics.web.servlet.WebMvcMetricsFilter.doFilterInternal(WebMvcMetricsFilter.java:93) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:346) at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:887) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1684) at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.base/java.lang.Thread.run(Thread.java:834) Caused by: java.lang.IllegalArgumentException: org.hibernate.QueryException: could not instantiate class [app.dto.MeasureAndSensorsDto] from tuple at org.hibernate.internal.ExceptionConverterImpl.convert(ExceptionConverterImpl.java:133) at org.hibernate.internal.ExceptionConverterImpl.convert(ExceptionConverterImpl.java:157) at org.hibernate.query.internal.AbstractProducedQuery.list(AbstractProducedQuery.java:1423) at org.hibernate.query.Query.getResultList(Query.java:146) at org.springframework.data.jpa.repository.query.JpaQueryExecution$CollectionExecution.doExecute(JpaQueryExecution.java:126) at org.springframework.data.jpa.repository.query.JpaQueryExecution.execute(JpaQueryExecution.java:88) at org.springframework.data.jpa.repository.query.AbstractJpaQuery.doExecute(AbstractJpaQuery.java:155) at org.springframework.data.jpa.repository.query.AbstractJpaQuery.execute(AbstractJpaQuery.java:143) at org.springframework.data.repository.core.support.RepositoryMethodInvoker.doInvoke(RepositoryMethodInvoker.java:137) at org.springframework.data.repository.core.support.RepositoryMethodInvoker.invoke(RepositoryMethodInvoker.java:121) at org.springframework.data.repository.core.support.QueryExecutorMethodInterceptor.doInvoke(QueryExecutorMethodInterceptor.java:152) at org.springframework.data.repository.core.support.QueryExecutorMethodInterceptor.invoke(QueryExecutorMethodInterceptor.java:131) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) at org.springframework.data.projection.DefaultMethodInvokingMethodInterceptor.invoke(DefaultMethodInvokingMethodInterceptor.java:80) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123) at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:388) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:137) ... 63 more Caused by: org.hibernate.QueryException: could not instantiate class [app.dto.MeasureAndSensorsDto] from tuple at org.hibernate.transform.AliasToBeanConstructorResultTransformer.transformTuple(AliasToBeanConstructorResultTransformer.java:41) at org.hibernate.hql.internal.HolderInstantiator.instantiate(HolderInstantiator.java:85) at org.hibernate.loader.hql.QueryLoader.getResultList(QueryLoader.java:470) at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2507) at org.hibernate.loader.Loader.list(Loader.java:2502) at org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:502) at org.hibernate.hql.internal.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:384) at org.hibernate.engine.query.spi.HQLQueryPlan.performList(HQLQueryPlan.java:216) at org.hibernate.internal.SessionImpl.list(SessionImpl.java:1490) at org.hibernate.query.internal.AbstractProducedQuery.doList(AbstractProducedQuery.java:1445) at org.hibernate.query.internal.AbstractProducedQuery.list(AbstractProducedQuery.java:1414) ... 80 more Caused by: java.lang.IllegalArgumentException at jdk.internal.reflect.GeneratedConstructorAccessor106.newInstance(Unknown Source) at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490) at org.hibernate.transform.AliasToBeanConstructorResultTransformer.transformTuple(AliasToBeanConstructorResultTransformer.java:37) ... 90 more


Ответы (1 шт):

Автор решения: Roman Konoval

Замените примитивные типы на объектные в полях объектов.

В частности, то что сразу увидел:

long sensor_id

должно быть

Long sensor_id

То же самое с :

private double rtime;
→ Ссылка