Failed to deserialize value for required type [class java.lang.String]

Viewed 50

Here's my API code:

@GET
@Path("/jobs")
@Produces(MediaType.APPLICATION_JSON)
public Stream<Annuncio> getAnnuncio() {
    Stream<PropertyBox> stream = datastore.query(RecAnnuncio.TARGET).stream(RecAnnuncio.REC_ANNUNCIO);
    return stream.map(row -> {
        return new AnnuncioImpl(row.getValueIfPresent(RecAnnuncio.ID).orElse(null),
                row.getValueIfPresent(RecAnnuncio.ID_REF_PRINC).orElseGet(null),
                row.getValueIfPresent(RecAnnuncio.NOME_REF_PRINC).orElseGet(null),
                row.getValueIfPresent(RecAnnuncio.COGNOME_REF_PRINC).orElseGet(null),
                row.getValueIfPresent(RecAnnuncio.FOTO_REF_PRINC).orElseGet(null),
                row.getValueIfPresent(RecAnnuncio.ID_SEDE).orElse(null),
                row.getValueIfPresent(RecAnnuncio.DESC_SEDE).orElse(null),
                row.getValueIfPresent(RecAnnuncio.NOME_INDIRIZZO).orElse(null),
                row.getValueIfPresent(RecAnnuncio.DESC_INDIRIZZO).orElse(null),
                row.getValueIfPresent(RecAnnuncio.INDIRIZZO).orElse(null),
                row.getValueIfPresent(RecAnnuncio.CASELLA_POSTALE).orElse(null),
                row.getValueIfPresent(RecAnnuncio.NAP).orElse(null),
                row.getValueIfPresent(RecAnnuncio.LOCALITA).orElse(null),
                row.getValueIfPresent(RecAnnuncio.ID_NAZIONE).orElse(null),
                row.getValueIfPresent(RecAnnuncio.DESC_NAZIONE).orElse(null),
                row.getValueIfPresent(RecAnnuncio.NO_TELEFONO).orElse(null),
                row.getValueIfPresent(RecAnnuncio.E_MAIL_HR).orElse(null),
                row.getValueIfPresent(RecAnnuncio.PAGINA_INTERNET).orElse(null),
                row.getValueIfPresent(RecAnnuncio.PAGINA_LINKEDIN).orElse(null),
                row.getValueIfPresent(RecAnnuncio.ID_SEZIONE).orElse(null),
                row.getValueIfPresent(RecAnnuncio.ID_AREA).orElse(null),
                row.getValueIfPresent(RecAnnuncio.DESC_AREA).orElse(null),
                row.getValueIfPresent(RecAnnuncio.ID_REF_SECOND).orElse(null),
                row.getValueIfPresent(RecAnnuncio.NOME_REF_SECOND).orElseGet(null),
                row.getValueIfPresent(RecAnnuncio.COGNOME_REF_SECOND).orElseGet(null),
                row.getValueIfPresent(RecAnnuncio.FOTO_REF_SECOND).orElseGet(null),
                row.getValueIfPresent(RecAnnuncio.TITOLO).orElse(null),
                row.getValueIfPresent(RecAnnuncio.DESCRIZIONE).orElse(null),
                row.getValueIfPresent(RecAnnuncio.HOME_OFFICE).orElse(null),
                row.getValueIfPresent(RecAnnuncio.OCCUP_MIN).orElse(null),
                row.getValueIfPresent(RecAnnuncio.OCCUP_MAX).orElse(null),
                row.getValueIfPresent(RecAnnuncio.INIZIO).orElse(null),
                row.getValueIfPresent(RecAnnuncio.FINE).orElse(null),
                row.getValueIfPresent(RecAnnuncio.DATA_INIZIO_CONTRATTO).orElse(null),
                row.getValueIfPresent(RecAnnuncio.DURATA_CONTRATTO).orElse(null),
                row.getValueIfPresent(RecAnnuncio.UNITA_DURATA_CONTRATTO).orElse(null));
    });
}

Here's my Annuncio:

@JsonDeserialize(as = AnnuncioImpl.class)
public interface Annuncio extends Serializable {
    Integer getAnnuncioId();
    Integer getRefPrincId();
    String getNomeRefPrinc();
    String getConomeRefPrinc();
    byte[] getFotoRefPrinc();
    Integer getSedeId();
    String getDescSede();
    String getNomeIndirizzo();
    String getDescIndirizzo();
    String getIndirizzo();
    String getCasellaPostale();
    String getNap();
    String getLocalita();
    Integer getNazioneId();
    String getDescNazione();
    String getNoTelefono();
    String getEmailHr();
    String getPaginaInternet();
    String getPaginaLinkedin();
    Integer getSezioneId();
    Integer getAreaId();
    String getDescArea();
    Integer getRefSecondId();
    String getNomeRefSecond();
    String getConomeRefSecond();
    byte[] getFotoRefSecond();
    String getTitolo();
    String getDescrizione();
    String getHomeOffice();
    BigDecimal getOccupMin();
    BigDecimal getOccupMax();
    LocalDate getInizio();
    LocalDate getFine();
    LocalDate getDataInizioContratto();
    Integer getDurataContratto();
    String getUnitaDurataContratto();

}

Here's my AnnuncioImpl:

public class AnnuncioImpl implements Annuncio {

    private static final long serialVersionUID = 7564964076463242656L;

    private Integer annuncioId;
    private Integer refPrincId;
    private String nomeRefPrinc;
    private String conomeRefPrinc;
    private byte[] fotoRefPrinc;
    private Integer sedeId;
    private String descSede;
    private String nomeIndirizzo;
    private String descIndirizzo;
    private String indirizzo;
    private String casellaPostale;
    private String nap;
    private String localita;
    private Integer nazioneId;
    private String descNazione;
    private String noTelefono;
    private String emailHr;
    private String paginaInternet;
    private String paginaLinkedin;
    private Integer sezioneId;
    private Integer areaId;
    private String descArea;
    private Integer refSecondId;
    private String nomeRefSecond;
    private String conomeRefSecond;
    private byte[] fotoRefSecond;
    private String titolo;
    private String descrizione;
    private String homeOffice;
    private BigDecimal occupMin;
    private BigDecimal occupMax;
    private LocalDate inizio;
    private LocalDate fine;
    private LocalDate dataInizioContratto;
    private Integer durataContratto;
    private String unitaDurataContratto;

    public AnnuncioImpl() {
        super();
    }

    public AnnuncioImpl(Integer annuncioId, Integer refPrincId, String nomeRefPrinc, String conomeRefPrinc,
            byte[] fotoRefPrinc, Integer sedeId, String descSede, String nomeIndirizzo, String descIndirizzo,
            String indirizzo, String casellaPostale, String nap, String localita, Integer nazioneId, String descNazione,
            String noTelefono, String emailHr, String paginaInternet, String paginaLinkedin, Integer sezioneId,
            Integer areaId, String descArea, Integer refSecondId, String nomeRefSecond, String conomeRefSecond,
            byte[] fotoRefSecond, String titolo, String descrizione, String homeOffice, BigDecimal occupMin,
            BigDecimal occupMax, LocalDate inizio, LocalDate fine, LocalDate dataInizioContratto,
            Integer durataContratto, String unitaDurataContratto) {
        super();
        this.annuncioId = annuncioId;
        this.refPrincId = refPrincId;
        this.nomeRefPrinc = nomeRefPrinc;
        this.conomeRefPrinc = conomeRefPrinc;
        this.fotoRefPrinc = fotoRefPrinc;
        this.sedeId = sedeId;
        this.descSede = descSede;
        this.nomeIndirizzo = nomeIndirizzo;
        this.descIndirizzo = descIndirizzo;
        this.indirizzo = indirizzo;
        this.casellaPostale = casellaPostale;
        this.nap = nap;
        this.localita = localita;
        this.nazioneId = nazioneId;
        this.descNazione = descNazione;
        this.noTelefono = noTelefono;
        this.emailHr = emailHr;
        this.paginaInternet = paginaInternet;
        this.paginaLinkedin = paginaLinkedin;
        this.sezioneId = sezioneId;
        this.areaId = areaId;
        this.descArea = descArea;
        this.refSecondId = refSecondId;
        this.nomeRefSecond = nomeRefSecond;
        this.conomeRefSecond = conomeRefSecond;
        this.fotoRefSecond = fotoRefSecond;
        this.titolo = titolo;
        this.descrizione = descrizione;
        this.homeOffice = homeOffice;
        this.occupMin = occupMin;
        this.occupMax = occupMax;
        this.inizio = inizio;
        this.fine = fine;
        this.dataInizioContratto = dataInizioContratto;
        this.durataContratto = durataContratto;
        this.unitaDurataContratto = unitaDurataContratto;
    }

    public Integer getAnnuncioId() {
        return annuncioId;
    }

    public Integer getRefPrincId() {
        return refPrincId;
    }

    public String getNomeRefPrinc() {
        return nomeRefPrinc;
    }

    public String getConomeRefPrinc() {
        return conomeRefPrinc;
    }

    public byte[] getFotoRefPrinc() {
        return fotoRefPrinc;
    }

    public Integer getSedeId() {
        return sedeId;
    }

    public String getDescSede() {
        return descSede;
    }

    public String getNomeIndirizzo() {
        return nomeIndirizzo;
    }

    public String getDescIndirizzo() {
        return descIndirizzo;
    }

    public String getIndirizzo() {
        return indirizzo;
    }

    public String getCasellaPostale() {
        return casellaPostale;
    }

    public String getNap() {
        return nap;
    }

    public String getLocalita() {
        return localita;
    }

    public Integer getNazioneId() {
        return nazioneId;
    }

    public String getDescNazione() {
        return descNazione;
    }

    public String getNoTelefono() {
        return noTelefono;
    }

    public String getEmailHr() {
        return emailHr;
    }

    public String getPaginaInternet() {
        return paginaInternet;
    }

    public String getPaginaLinkedin() {
        return paginaLinkedin;
    }

    public Integer getSezioneId() {
        return sezioneId;
    }

    public Integer getAreaId() {
        return areaId;
    }

    public String getDescArea() {
        return descArea;
    }

    public Integer getRefSecondId() {
        return refSecondId;
    }

    public String getNomeRefSecond() {
        return nomeRefSecond;
    }

    public String getConomeRefSecond() {
        return conomeRefSecond;
    }

    public byte[] getFotoRefSecond() {
        return fotoRefSecond;
    }

    public String getTitolo() {
        return titolo;
    }

    public String getDescrizione() {
        return descrizione;
    }

    public String getHomeOffice() {
        return homeOffice;
    }

    public BigDecimal getOccupMin() {
        return occupMin;
    }

    public BigDecimal getOccupMax() {
        return occupMax;
    }

    public LocalDate getInizio() {
        return inizio;
    }

    public LocalDate getFine() {
        return fine;
    }

    public LocalDate getDataInizioContratto() {
        return dataInizioContratto;
    }

    public Integer getDurataContratto() {
        return durataContratto;
    }

    public String getUnitaDurataContratto() {
        return unitaDurataContratto;
    }

    public void setAnnuncioId(Integer annuncioId) {
        this.annuncioId = annuncioId;
    }

    public void setRefPrincId(Integer refPrincId) {
        this.refPrincId = refPrincId;
    }

    public void setNomeRefPrinc(String nomeRefPrinc) {
        this.nomeRefPrinc = nomeRefPrinc;
    }

    public void setConomeRefPrinc(String conomeRefPrinc) {
        this.conomeRefPrinc = conomeRefPrinc;
    }

    public void setFotoRefPrinc(byte[] fotoRefPrinc) {
        this.fotoRefPrinc = fotoRefPrinc;
    }

    public void setSedeId(Integer sedeId) {
        this.sedeId = sedeId;
    }

    public void setDescSede(String descSede) {
        this.descSede = descSede;
    }

    public void setNomeIndirizzo(String nomeIndirizzo) {
        this.nomeIndirizzo = nomeIndirizzo;
    }

    public void setDescIndirizzo(String descIndirizzo) {
        this.descIndirizzo = descIndirizzo;
    }

    public void setIndirizzo(String indirizzo) {
        this.indirizzo = indirizzo;
    }

    public void setCasellaPostale(String casellaPostale) {
        this.casellaPostale = casellaPostale;
    }

    public void setNap(String nap) {
        this.nap = nap;
    }

    public void setLocalita(String localita) {
        this.localita = localita;
    }

    public void setNazioneId(Integer nazioneId) {
        this.nazioneId = nazioneId;
    }

    public void setDescNazione(String descNazione) {
        this.descNazione = descNazione;
    }

    public void setNoTelefono(String noTelefono) {
        this.noTelefono = noTelefono;
    }

    public void setEmailHr(String emailHr) {
        this.emailHr = emailHr;
    }

    public void setPaginaInternet(String paginaInternet) {
        this.paginaInternet = paginaInternet;
    }

    public void setPaginaLinkedin(String paginaLinkedin) {
        this.paginaLinkedin = paginaLinkedin;
    }

    public void setSezioneId(Integer sezioneId) {
        this.sezioneId = sezioneId;
    }

    public void setAreaId(Integer areaId) {
        this.areaId = areaId;
    }

    public void setDescArea(String descArea) {
        this.descArea = descArea;
    }

    public void setRefSecondId(Integer refSecondId) {
        this.refSecondId = refSecondId;
    }

    public void setNomeRefSecond(String nomeRefSecond) {
        this.nomeRefSecond = nomeRefSecond;
    }

    public void setConomeRefSecond(String conomeRefSecond) {
        this.conomeRefSecond = conomeRefSecond;
    }

    public void setFotoRefSecond(byte[] fotoRefSecond) {
        this.fotoRefSecond = fotoRefSecond;
    }

    public void setTitolo(String titolo) {
        this.titolo = titolo;
    }

    public void setDescrizione(String descrizione) {
        this.descrizione = descrizione;
    }

    public void setHomeOffice(String homeOffice) {
        this.homeOffice = homeOffice;
    }

    public void setOccupMin(BigDecimal occupMin) {
        this.occupMin = occupMin;
    }

    public void setOccupMax(BigDecimal occupMax) {
        this.occupMax = occupMax;
    }

    public void setInizio(LocalDate inizio) {
        this.inizio = inizio;
    }

    public void setFine(LocalDate fine) {
        this.fine = fine;
    }

    public void setDataInizioContratto(LocalDate dataInizioContratto) {
        this.dataInizioContratto = dataInizioContratto;
    }

    public void setDurataContratto(Integer durataContratto) {
        this.durataContratto = durataContratto;
    }

    public void setUnitaDurataContratto(String unitaDurataContratto) {
        this.unitaDurataContratto = unitaDurataContratto;
    }

    @Override
    public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = prime * result + Arrays.hashCode(fotoRefPrinc);
        result = prime * result + Arrays.hashCode(fotoRefSecond);
        result = prime * result + Objects.hash(annuncioId, areaId, casellaPostale, conomeRefPrinc, conomeRefSecond,
                dataInizioContratto, descArea, descIndirizzo, descNazione, descSede, descrizione, durataContratto,
                emailHr, fine, homeOffice, indirizzo, inizio, localita, nap, nazioneId, noTelefono, nomeIndirizzo,
                nomeRefPrinc, nomeRefSecond, paginaInternet, paginaLinkedin, refPrincId, refSecondId, sedeId, sezioneId,
                titolo, unitaDurataContratto);
        return result;
    }

    @Override
    public boolean equals(Object obj) {
        if (this == obj)
            return true;
        if (obj == null)
            return false;
        if (getClass() != obj.getClass())
            return false;
        AnnuncioImpl other = (AnnuncioImpl) obj;
        return Objects.equals(annuncioId, other.annuncioId) && Objects.equals(areaId, other.areaId)
                && Objects.equals(casellaPostale, other.casellaPostale)
                && Objects.equals(conomeRefPrinc, other.conomeRefPrinc)
                && Objects.equals(conomeRefSecond, other.conomeRefSecond)
                && Objects.equals(dataInizioContratto, other.dataInizioContratto)
                && Objects.equals(descArea, other.descArea) && Objects.equals(descIndirizzo, other.descIndirizzo)
                && Objects.equals(descNazione, other.descNazione) && Objects.equals(descSede, other.descSede)
                && Objects.equals(descrizione, other.descrizione)
                && Objects.equals(durataContratto, other.durataContratto) && Objects.equals(emailHr, other.emailHr)
                && Objects.equals(fine, other.fine) && Arrays.equals(fotoRefPrinc, other.fotoRefPrinc)
                && Arrays.equals(fotoRefSecond, other.fotoRefSecond) && Objects.equals(homeOffice, other.homeOffice)
                && Objects.equals(indirizzo, other.indirizzo) && Objects.equals(inizio, other.inizio)
                && Objects.equals(localita, other.localita) && Objects.equals(nap, other.nap)
                && Objects.equals(nazioneId, other.nazioneId) && Objects.equals(noTelefono, other.noTelefono)
                && Objects.equals(nomeIndirizzo, other.nomeIndirizzo)
                && Objects.equals(nomeRefPrinc, other.nomeRefPrinc)
                && Objects.equals(nomeRefSecond, other.nomeRefSecond)
                && Objects.equals(paginaInternet, other.paginaInternet)
                && Objects.equals(paginaLinkedin, other.paginaLinkedin) && Objects.equals(refPrincId, other.refPrincId)
                && Objects.equals(refSecondId, other.refSecondId) && Objects.equals(sedeId, other.sedeId)
                && Objects.equals(sezioneId, other.sezioneId) && Objects.equals(titolo, other.titolo)
                && Objects.equals(unitaDurataContratto, other.unitaDurataContratto);
    }
}

When I test it with Postman with the following URL:

http://localhost:8080/api/rec/jobs/

Then I got this error:

2022-09-08 14:44:21,823 INFO [com.holonplatform.datastore.jdbc] - (TRACE) SQL: [SELECT v_re_0_0.ID_ANNUNCIO AS id_a1_0, v_re_0_0.ID_REF_PRINC AS id_r2_0, v_re_0_0.NOME_REF_PRINC AS nome3_0, v_re_0_0.COGNOME_REF_PRINC AS cogn4_0, v_re_0_0.FOTO_REF_PRINC AS foto5_0, v_re_0_0.ID_SEDE AS id_s6_0, v_re_0_0.DESC_SEDE AS desc7_0, v_re_0_0.NOME_INDIRIZZO AS nome8_0, v_re_0_0.DESC_INDIRIZZO AS desc9_0, v_re_0_0.INDIRIZZO AS indi10_0, v_re_0_0.CASELLA_POSTALE AS case11_0, v_re_0_0.NAP AS nap12_0, v_re_0_0.LOCALITA AS loca13_0, v_re_0_0.ID_NAZIONE AS id_n14_0, v_re_0_0.DESC_NAZIONE AS desc15_0, v_re_0_0.NO_TELEFONO AS no_t16_0, v_re_0_0.E_MAIL_HR AS e_ma17_0, v_re_0_0.PAGINA_INTERNET AS pagi18_0, v_re_0_0.PAGINA_LINKEDIN AS pagi19_0, v_re_0_0.ID_SEZIONE AS id_s20_0, v_re_0_0.ID_AREA AS id_a21_0, v_re_0_0.DESC_AREA AS desc22_0, v_re_0_0.ID_REF_SECOND AS id_r23_0, v_re_0_0.NOME_REF_SECOND AS nome24_0, v_re_0_0.COGNOME_REF_SECOND AS cogn25_0, v_re_0_0.FOTO_REF_SECOND AS foto26_0, v_re_0_0.TITOLO AS tito27_0, v_re_0_0.DESCRIZIONE AS desc28_0, v_re_0_0.HOME_OFFICE AS home29_0, v_re_0_0.OCCUP_MIN AS occu30_0, v_re_0_0.OCCUP_MAX AS occu31_0, v_re_0_0.INIZIO AS iniz32_0, v_re_0_0.FINE AS fine33_0, v_re_0_0.DATA_INIZIO_CONTRATTO AS data34_0, v_re_0_0.DURATA_CONTRATTO AS dura35_0, v_re_0_0.UNITA_DURATA_CONTRATTO AS unit36_0 FROM V_REC_API_ANNUNCIO v_re_0_0]
2022-09-08 14:44:21,935 ERROR [org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/].[org.glassfish.jersey.server.ResourceConfig]] - Servlet.service() for servlet [org.glassfish.jersey.server.ResourceConfig] in context with path [] threw exception [com.holonplatform.core.exceptions.DataAccessException: java.sql.SQLException: Failed to deserialize value [1] for required type [class java.lang.String]: Expected expression type [class java.lang.String] but got value type [java.math.BigDecimal]] with root cause
java.sql.SQLException: Failed to deserialize value [1] for required type [class java.lang.String]: Expected expression type [class java.lang.String] but got value type [java.math.BigDecimal]
    at com.holonplatform.datastore.jdbc.composer.internal.DefaultSQLValueDeserializer.deserialize(DefaultSQLValueDeserializer.java:143)
    at com.holonplatform.datastore.jdbc.composer.internal.converters.PropertyBoxSQLResultConverter.convert(PropertyBoxSQLResultConverter.java:117)
    at com.holonplatform.datastore.jdbc.composer.internal.converters.PropertyBoxSQLResultConverter.convert(PropertyBoxSQLResultConverter.java:39)
    at com.holonplatform.datastore.jdbc.internal.operations.JdbcQuery.lambda$stream$0(JdbcQuery.java:127)
    at com.holonplatform.datastore.jdbc.internal.DefaultJdbcDatastore.withConnection(DefaultJdbcDatastore.java:384)
    at com.holonplatform.datastore.jdbc.internal.DefaultJdbcDatastore.withConnection(DefaultJdbcDatastore.java:468)
    at com.holonplatform.datastore.jdbc.internal.operations.JdbcQuery.stream(JdbcQuery.java:119)
    at com.holonplatform.core.internal.query.QueryAdapterQuery.stream(QueryAdapterQuery.java:93)
    at com.holonplatform.core.query.QueryResults.stream(QueryResults.java:115)
    at ch.lombardi.spai.rec.endpoint.RecEndpoint.getAnnuncio(RecEndpoint.java:63)
    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.glassfish.jersey.server.model.internal.ResourceMethodInvocationHandlerFactory.lambda$static$0(ResourceMethodInvocationHandlerFactory.java:52)
    at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:124)
    at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:167)
    at org.glassfish.jersey.server.model.internal.JavaResourceMethodDispatcherProvider$TypeOutInvoker.doDispatch(JavaResourceMethodDispatcherProvider.java:219)
    at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:79)
    at org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:469)
    at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:391)
    at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:80)
    at org.glassfish.jersey.server.ServerRuntime$1.run(ServerRuntime.java:253)
    at org.glassfish.jersey.internal.Errors$1.call(Errors.java:248)
    at org.glassfish.jersey.internal.Errors$1.call(Errors.java:244)
    at org.glassfish.jersey.internal.Errors.process(Errors.java:292)
    at org.glassfish.jersey.internal.Errors.process(Errors.java:274)
    at org.glassfish.jersey.internal.Errors.process(Errors.java:244)
    at org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:265)
    at org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:232)
    at org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHandler.java:680)
    at org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebComponent.java:394)
    at org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:346)
    at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:366)
    at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:319)
    at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:205)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
    at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
    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:193)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
    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:193)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
    at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:373)
    at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
    at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:868)
    at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1590)
    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)

The problem is that the value [1] is not a BigDecimal as the error said.

I use Java 11.0.15, Vaadin 14 (Maven/Spring Boot) and my IDE is Eclipse 2022-06 (4.24.0).

0 Answers
Related