java.lang.ArrayIndexOutOfBoundsException Vraptor

Fala galera, tudo blza?

Estou com um problema com alguns atributos do tipo TEXT no Mysql, todo vez que eu tento faço uma consulta no banco ele traz esse erro:

br.com.caelum.vraptor.InterceptionException: java.lang.ArrayIndexOutOfBoundsException: 21
	br.com.caelum.vraptor.interceptor.StepInvoker.invokeMethod(StepInvoker.java:69)
	br.com.caelum.vraptor.interceptor.StepInvoker.tryToInvoke(StepInvoker.java:55)
	br.com.caelum.vraptor.interceptor.StepInvoker$Proxy$_$$_WeldClientProxy.tryToInvoke(Unknown Source)
	br.com.caelum.vraptor.interceptor.InterceptorExecutor.executeAround(InterceptorExecutor.java:75)
	br.com.caelum.vraptor.interceptor.InterceptorExecutor$Proxy$_$$_WeldClientProxy.executeAround(Unknown Source)
	br.com.caelum.vraptor.interceptor.AspectStyleInterceptorHandler.execute(AspectStyleInterceptorHandler.java:85)
	br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:83)
	br.com.caelum.vraptor.interceptor.ExceptionHandlerInterceptor.intercept(ExceptionHandlerInterceptor.java:75)
	br.com.caelum.vraptor.interceptor.ExceptionHandlerInterceptor$Proxy$_$$_WeldClientProxy.intercept(Unknown Source)
	br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler$1.call(ToInstantiateInterceptorHandler.java:71)
	br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler$1.call(ToInstantiateInterceptorHandler.java:68)
	br.com.caelum.vraptor.core.Try.run(Try.java:18)
	br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.executeSafely(ToInstantiateInterceptorHandler.java:68)
	br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:61)
	br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:83)
	br.com.caelum.vraptor.core.DefaultInterceptorStack.start(DefaultInterceptorStack.java:93)
	br.com.caelum.vraptor.core.DefaultInterceptorStack$Proxy$_$$_WeldClientProxy.start(Unknown Source)
	br.com.caelum.vraptor.observer.RequestHandlerObserver.handle(RequestHandlerObserver.java:93)
	sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	java.lang.reflect.Method.invoke(Method.java:498)
	org.jboss.weld.injection.MethodInjectionPoint.invokeOnInstanceWithSpecialValue(MethodInjectionPoint.java:93)
	org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:266)
	org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:253)
	org.jboss.weld.event.ObserverMethodImpl.notify(ObserverMethodImpl.java:232)
	org.jboss.weld.event.ObserverNotifier.notifyObserver(ObserverNotifier.java:169)
	org.jboss.weld.event.ObserverNotifier.notifyObserver(ObserverNotifier.java:165)
	org.jboss.weld.event.ObserverNotifier.notifyObservers(ObserverNotifier.java:119)
	org.jboss.weld.event.ObserverNotifier.fireEvent(ObserverNotifier.java:112)
	org.jboss.weld.event.EventImpl.fire(EventImpl.java:83)
	br.com.caelum.vraptor.VRaptor.doFilter(VRaptor.java:123)
root cause

java.lang.ArrayIndexOutOfBoundsException: 21
	com.mysql.cj.mysqla.MysqlaUtils.bitToLong(MysqlaUtils.java:68)
	com.mysql.cj.core.io.MysqlTextValueDecoder.decodeBit(MysqlTextValueDecoder.java:231)
	com.mysql.cj.jdbc.ResultSetRow.decodeAndCreateReturnValue(ResultSetRow.java:170)
	com.mysql.cj.jdbc.ResultSetRow.getValueFromBytes(ResultSetRow.java:269)
	com.mysql.cj.jdbc.BufferRow.getValue(BufferRow.java:349)
	com.mysql.cj.jdbc.ResultSetImpl.getNonStringValueFromRow(ResultSetImpl.java:813)
	com.mysql.cj.jdbc.ResultSetImpl.getBoolean(ResultSetImpl.java:904)
	com.mysql.cj.jdbc.ResultSetImpl.getBoolean(ResultSetImpl.java:908)
	org.hibernate.type.descriptor.sql.BooleanTypeDescriptor$2.doExtract(BooleanTypeDescriptor.java:71)
	org.hibernate.type.descriptor.sql.BasicExtractor.extract(BasicExtractor.java:64)
	org.hibernate.type.AbstractStandardBasicType.nullSafeGet(AbstractStandardBasicType.java:263)
	org.hibernate.type.AbstractStandardBasicType.nullSafeGet(AbstractStandardBasicType.java:259)
	org.hibernate.type.AbstractStandardBasicType.nullSafeGet(AbstractStandardBasicType.java:249)
	org.hibernate.type.AbstractStandardBasicType.hydrate(AbstractStandardBasicType.java:334)
	org.hibernate.persister.entity.AbstractEntityPersister.hydrate(AbstractEntityPersister.java:2969)
	org.hibernate.loader.plan.exec.process.internal.EntityReferenceInitializerImpl.loadFromResultSet(EntityReferenceInitializerImpl.java:324)
	org.hibernate.loader.plan.exec.process.internal.EntityReferenceInitializerImpl.hydrateEntityState(EntityReferenceInitializerImpl.java:251)
	org.hibernate.loader.plan.exec.process.internal.AbstractRowReader.readRow(AbstractRowReader.java:107)
	org.hibernate.loader.plan.exec.internal.EntityLoadQueryDetails$EntityLoaderRowReader.readRow(EntityLoadQueryDetails.java:255)
	org.hibernate.loader.plan.exec.process.internal.ResultSetProcessorImpl.extractResults(ResultSetProcessorImpl.java:129)
	org.hibernate.loader.plan.exec.internal.AbstractLoadPlanBasedLoader.executeLoad(AbstractLoadPlanBasedLoader.java:138)
	org.hibernate.loader.plan.exec.internal.AbstractLoadPlanBasedLoader.executeLoad(AbstractLoadPlanBasedLoader.java:102)
	org.hibernate.loader.entity.plan.AbstractLoadPlanBasedEntityLoader.load(AbstractLoadPlanBasedEntityLoader.java:186)
	org.hibernate.persister.entity.AbstractEntityPersister.load(AbstractEntityPersister.java:4120)
	org.hibernate.event.internal.DefaultLoadEventListener.loadFromDatasource(DefaultLoadEventListener.java:502)
	org.hibernate.event.internal.DefaultLoadEventListener.doLoad(DefaultLoadEventListener.java:467)
	org.hibernate.event.internal.DefaultLoadEventListener.load(DefaultLoadEventListener.java:212)
	org.hibernate.event.internal.DefaultLoadEventListener.proxyOrLoad(DefaultLoadEventListener.java:274)
	org.hibernate.event.internal.DefaultLoadEventListener.onLoad(DefaultLoadEventListener.java:150)
	org.hibernate.internal.SessionImpl.fireLoad(SessionImpl.java:1066)
	org.hibernate.internal.SessionImpl.access$2000(SessionImpl.java:176)
	org.hibernate.internal.SessionImpl$IdentifierLoadAccessImpl.load(SessionImpl.java:2540)
	org.hibernate.internal.SessionImpl.get(SessionImpl.java:951)
	org.hibernate.jpa.spi.AbstractEntityManagerImpl.find(AbstractEntityManagerImpl.java:1110)
	org.hibernate.jpa.spi.AbstractEntityManagerImpl.find(AbstractEntityManagerImpl.java:1068)
	sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	java.lang.reflect.Method.invoke(Method.java:498)
	org.jboss.weld.bean.proxy.AbstractBeanInstance.invoke(AbstractBeanInstance.java:40)
	org.jboss.weld.bean.proxy.ProxyMethodHandler.invoke(ProxyMethodHandler.java:100)
	org.jboss.weld.proxies.EntityManager$1201836808$Proxy$_$$_WeldClientProxy.find(Unknown Source)
	br.com.geoambientalengenharia.DAO.OrcamentoDAO.findById(OrcamentoDAO.java:64)
	br.com.geoambientalengenharia.DAO.OrcamentoDAO$Proxy$_$$_WeldClientProxy.findById(Unknown Source)
	br.com.geoambientalengenharia.Controller.OrcamentoController.desaprovar(OrcamentoController.java:103)
	br.com.geoambientalengenharia.Controller.OrcamentoController$Proxy$_$$_WeldClientProxy.desaprovar(Unknown Source)
	sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	java.lang.reflect.Method.invoke(Method.java:498)
	net.vidageek.mirror.provider.java.PureJavaMethodReflectionProvider.invoke(PureJavaMethodReflectionProvider.java:38)
	net.vidageek.mirror.invoke.MethodHandlerByMethod.withArgs(MethodHandlerByMethod.java:54)
	br.com.caelum.vraptor.core.DefaultReflectionProvider.invoke(DefaultReflectionProvider.java:42)
	br.com.caelum.vraptor.core.DefaultReflectionProvider$Proxy$_$$_WeldClientProxy.invoke(Unknown Source)
	br.com.caelum.vraptor.observer.ExecuteMethod$1.call(ExecuteMethod.java:82)
	br.com.caelum.vraptor.observer.ExecuteMethod$1.call(ExecuteMethod.java:72)
	br.com.caelum.vraptor.core.Try.run(Try.java:18)
	br.com.caelum.vraptor.observer.ExecuteMethod.execute(ExecuteMethod.java:72)
	sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	java.lang.reflect.Method.invoke(Method.java:498)
	org.jboss.weld.injection.MethodInjectionPoint.invokeOnInstanceWithSpecialValue(MethodInjectionPoint.java:93)
	org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:266)
	org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:253)
	org.jboss.weld.event.ObserverMethodImpl.notify(ObserverMethodImpl.java:232)
	org.jboss.weld.event.ObserverNotifier.notifyObserver(ObserverNotifier.java:169)
	org.jboss.weld.event.ObserverNotifier.notifyObserver(ObserverNotifier.java:165)
	org.jboss.weld.event.ObserverNotifier.notifyObservers(ObserverNotifier.java:119)
	org.jboss.weld.event.ObserverNotifier.fireEvent(ObserverNotifier.java:112)
	org.jboss.weld.event.EventImpl.fire(EventImpl.java:83)
	br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:78)
	br.com.caelum.vraptor.interceptor.FlashInterceptor.intercept(FlashInterceptor.java:98)
	br.com.caelum.vraptor.interceptor.FlashInterceptor$Proxy$_$$_WeldClientProxy.intercept(Unknown Source)
	br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler$1.call(ToInstantiateInterceptorHandler.java:71)
	br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler$1.call(ToInstantiateInterceptorHandler.java:68)
	br.com.caelum.vraptor.core.Try.run(Try.java:18)
	br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.executeSafely(ToInstantiateInterceptorHandler.java:68)
	br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:61)
	br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:83)
	br.com.caelum.vraptor.core.DefaultInterceptorStack$Proxy$_$$_WeldClientProxy.next(Unknown Source)
	br.com.caelum.vraptor.interceptor.DefaultSimpleInterceptorStack.next(DefaultSimpleInterceptorStack.java:49)
	br.com.caelum.vraptor.interceptor.DefaultSimpleInterceptorStack$Proxy$_$$_WeldClientProxy.next(Unknown Source)
	br.com.caelum.vraptor.jpa.JPATransactionInterceptor.intercept(JPATransactionInterceptor.java:73)
	br.com.caelum.vraptor.jpa.JPATransactionInterceptor$Proxy$_$$_WeldClientProxy.intercept(Unknown Source)
	sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	java.lang.reflect.Method.invoke(Method.java:498)
	net.vidageek.mirror.provider.java.PureJavaMethodReflectionProvider.invoke(PureJavaMethodReflectionProvider.java:38)
	net.vidageek.mirror.invoke.MethodHandlerByMethod.withArgs(MethodHandlerByMethod.java:54)
	br.com.caelum.vraptor.core.DefaultReflectionProvider.invoke(DefaultReflectionProvider.java:42)
	br.com.caelum.vraptor.core.DefaultReflectionProvider$Proxy$_$$_WeldClientProxy.invoke(Unknown Source)
	br.com.caelum.vraptor.interceptor.StepInvoker.invokeMethod(StepInvoker.java:64)
	br.com.caelum.vraptor.interceptor.StepInvoker.tryToInvoke(StepInvoker.java:55)
	br.com.caelum.vraptor.interceptor.StepInvoker$Proxy$_$$_WeldClientProxy.tryToInvoke(Unknown Source)
	br.com.caelum.vraptor.interceptor.InterceptorExecutor.executeAround(InterceptorExecutor.java:75)
	br.com.caelum.vraptor.interceptor.InterceptorExecutor$Proxy$_$$_WeldClientProxy.executeAround(Unknown Source)
	br.com.caelum.vraptor.interceptor.AspectStyleInterceptorHandler.execute(AspectStyleInterceptorHandler.java:85)
	br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:83)
	br.com.caelum.vraptor.interceptor.ExceptionHandlerInterceptor.intercept(ExceptionHandlerInterceptor.java:75)
	br.com.caelum.vraptor.interceptor.ExceptionHandlerInterceptor$Proxy$_$$_WeldClientProxy.intercept(Unknown Source)
	br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler$1.call(ToInstantiateInterceptorHandler.java:71)
	br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler$1.call(ToInstantiateInterceptorHandler.java:68)
	br.com.caelum.vraptor.core.Try.run(Try.java:18)
	br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.executeSafely(ToInstantiateInterceptorHandler.java:68)
	br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:61)
	br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:83)
	br.com.caelum.vraptor.core.DefaultInterceptorStack.start(DefaultInterceptorStack.java:93)
	br.com.caelum.vraptor.core.DefaultInterceptorStack$Proxy$_$$_WeldClientProxy.start(Unknown Source)
	br.com.caelum.vraptor.observer.RequestHandlerObserver.handle(RequestHandlerObserver.java:93)
	sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	java.lang.reflect.Method.invoke(Method.java:498)
	org.jboss.weld.injection.MethodInjectionPoint.invokeOnInstanceWithSpecialValue(MethodInjectionPoint.java:93)
	org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:266)
	org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:253)
	org.jboss.weld.event.ObserverMethodImpl.notify(ObserverMethodImpl.java:232)
	org.jboss.weld.event.ObserverNotifier.notifyObserver(ObserverNotifier.java:169)
	org.jboss.weld.event.ObserverNotifier.notifyObserver(ObserverNotifier.java:165)
	org.jboss.weld.event.ObserverNotifier.notifyObservers(ObserverNotifier.java:119)
	org.jboss.weld.event.ObserverNotifier.fireEvent(ObserverNotifier.java:112)
	org.jboss.weld.event.EventImpl.fire(EventImpl.java:83)
	br.com.caelum.vraptor.VRaptor.doFilter(VRaptor.java:123)

Minha entity

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package br.com.geoambientalengenharia.Model;

import java.io.Serializable;
import java.util.List;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.Lob;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import org.hibernate.annotations.Type;
import org.joda.time.LocalDate;

/**
 *
 * @author Rafael Delanhese
 */
@Entity
public class Orcamento implements Serializable {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long idOrcamento;

    @Type(type = "org.jadira.usertype.dateandtime.joda.PersistentLocalDate")
    private LocalDate dataorc;
    @Column(columnDefinition = "TEXT")
    private String objetivo;
    @Column(columnDefinition = "TEXT")
    private String proposta;
    @Column(columnDefinition = "TEXT")
    private String formapagamento;
    @Column(columnDefinition = "TEXT")
    private String taxaseemolumentos;
    @Column(columnDefinition = "TEXT")
    private String inicioatividades;
    @Column(columnDefinition = "TEXT")
    private String validadeproposta;

    private boolean status;

    @ManyToOne
    @JoinColumn(name = "idTipoOrcamento")
    private TipoOrcamento tipoOrcamento;

    @ManyToOne
    @JoinColumn(name = "idPessoa")
    private Pessoa pessoa;

    @OneToMany(mappedBy = "orcamento", cascade = CascadeType.ALL)
    private List<OrcamentoItem> orcamentoItem;

    public Orcamento() {
    }

    public Orcamento(Long idOrcamento, LocalDate dataorc, String objetivo, String proposta, String formapagamento, String taxaseemolumentos, String inicioatividades, String validadeproposta, boolean status, TipoOrcamento tipoOrcamento, Pessoa pessoa, List<OrcamentoItem> orcamentoItem) {
        this.idOrcamento = idOrcamento;
        this.dataorc = dataorc;
        this.objetivo = objetivo;
        this.proposta = proposta;
        this.formapagamento = formapagamento;
        this.taxaseemolumentos = taxaseemolumentos;
        this.inicioatividades = inicioatividades;
        this.validadeproposta = validadeproposta;
        this.status = status;
        this.tipoOrcamento = tipoOrcamento;
        this.pessoa = pessoa;
        this.orcamentoItem = orcamentoItem;
    }

    public Orcamento(LocalDate dataorc, String objetivo, String proposta, String formapagamento, String taxaseemolumentos, String inicioatividades, String validadeproposta, boolean status, TipoOrcamento tipoOrcamento, Pessoa pessoa, List<OrcamentoItem> orcamentoItem) {
        this.dataorc = dataorc;
        this.objetivo = objetivo;
        this.proposta = proposta;
        this.formapagamento = formapagamento;
        this.taxaseemolumentos = taxaseemolumentos;
        this.inicioatividades = inicioatividades;
        this.validadeproposta = validadeproposta;
        this.status = status;
        this.tipoOrcamento = tipoOrcamento;
        this.pessoa = pessoa;
        this.orcamentoItem = orcamentoItem;
    }

    public Orcamento(Long idOrcamento, LocalDate dataorc, boolean status, TipoOrcamento tipoOrcamento, Pessoa pessoa) {
        this.idOrcamento = idOrcamento;
        this.dataorc = dataorc;
        this.status = status;
        this.tipoOrcamento = tipoOrcamento;
        this.pessoa = pessoa;
    }

    public Long getIdOrcamento() {
        return idOrcamento;
    }

    public void setIdOrcamento(Long idOrcamento) {
        this.idOrcamento = idOrcamento;
    }

    public LocalDate getDataorc() {
        return dataorc;
    }

    public void setDataorc(LocalDate dataorc) {
        this.dataorc = dataorc;
    }

    public String getObjetivo() {
        return objetivo;
    }

    public void setObjetivo(String objetivo) {
        this.objetivo = objetivo;
    }

    public String getProposta() {
        return proposta;
    }

    public void setProposta(String proposta) {
        this.proposta = proposta;
    }

    public String getFormapagamento() {
        return formapagamento;
    }

    public void setFormapagamento(String formapagamento) {
        this.formapagamento = formapagamento;
    }

    public String getTaxaseemolumentos() {
        return taxaseemolumentos;
    }

    public void setTaxaseemolumentos(String taxaseemolumentos) {
        this.taxaseemolumentos = taxaseemolumentos;
    }

    public String getInicioatividades() {
        return inicioatividades;
    }

    public void setInicioatividades(String inicioatividades) {
        this.inicioatividades = inicioatividades;
    }

    public String getValidadeproposta() {
        return validadeproposta;
    }

    public void setValidadeproposta(String validadeproposta) {
        this.validadeproposta = validadeproposta;
    }

    public boolean isStatus() {
        return status;
    }

    public void setStatus(boolean status) {
        this.status = status;
    }

    public TipoOrcamento getTipoOrcamento() {
        return tipoOrcamento;
    }

    public void setTipoOrcamento(TipoOrcamento tipoOrcamento) {
        this.tipoOrcamento = tipoOrcamento;
    }

    public Pessoa getPessoa() {
        return pessoa;
    }

    public void setPessoa(Pessoa pessoa) {
        this.pessoa = pessoa;
    }

    public List<OrcamentoItem> getOrcamentoItem() {
        return orcamentoItem;
    }

    public void setOrcamentoItem(List<OrcamentoItem> orcamentoItem) {
        this.orcamentoItem = orcamentoItem;
    }

}

Já procurei em diversos lugares mas não consigo achar a solução e também não consigo enxergar o que eu posso estar fazendo de errado.

esse erro costuma acontecer quando você tenta acessar uma posição inválida em um array nesse caso a posição 21, a quantidade de caracteres que você tem alocado nos atributos do banco estão condizentes com o espaço de alocação onde está sendo salva a requisição?

Então acredito que sim porque esse problema só ocorre quando o tipo do campo na tabela é TEXT, eu utilizo o mesmo processo para gravação e/ou leitura nos campos do tipo VARCHAR e funciona perfeitamente. Será que eu tinha que fazer algum tipo de conversão nos métodos “get”?

TEXT não tem um limite específico de tamanho além do máximo do banco de dados. Ele é armazenado na área específica para blobs já que a expectativa é que ele será grande.

VARCHAR pode ter um limite de tamanho e é armazenado direto na linha de dados (a não ser que ultrapasse um limite, acho que 8KB). VARCHAR(MAX) é essencialmente o mesmo que TEXT

Essencialmente não há grandes problemas de performance na maioria das situações. Pode haver diferenças se estiver no blob já que é uma indireção. Mas também pode ajudar outras coisas. Mas esta não é a questão.

A recomendação atual é usar o VARCHAR. TEXT pode até mesmo ser removido em futuras versões, segundo a Microsoft. Você deveria converter esta coluna por causa disto.

então aconselho substituir o TEXT por VARCHAR(MAX)

@netogdn999

Vou tentar usar o VARCHAR(MAX) para ver se resolve a situação pq como não vou ter o controle de quanto o usuário irá usar preciso que os atributos fiquem assim, mas acredito que pela especificação do VARCHAR(MAX), 65.535 caracteres (se não me engano) acho que seja suficiente já que nesse caso o usuário irá gerar um orçamento para um cliente pq além do texto que ele irá escrever terei que guardar as tags HTML para a formatação da página para a impressão posteriormente.

Dúvida, sendo o banco de dados MySQL, qual a interferência da Microsoft sobre ele?

@Column(columnDefinition = "TEXT")
private String objetivo;
@Column(columnDefinition = "TEXT")
private String proposta;
@Column(columnDefinition = "TEXT")
private String formapagamento;
@Column(columnDefinition = "TEXT")
private String taxaseemolumentos;
@Column(columnDefinition = "TEXT")
private String inicioatividades;
@Column(columnDefinition = "TEXT")
private String validadeproposta;

Por quê todas as colunas do teu banco são text? Isso é curioso, pois, o tipo text aceita, efetivamente, valores do tipo varchar, mas, com uma quantidade de caracteres maior que 255.
Mas, entendo que algumas colunas poderiam ser de tipos diferentes, como:

validadeProposta DATE,
inicioAtividades DATE,
formaPagamento VARCHAR(50)

E assim por diante.
De qualquer forma, eu entendo que o banco já pode existir, mas, neste caso, não seria mais inteligente criar uma nova estrutura, melhorando a tabela e sua funcionalidade?

Como está fazendo esta consulta?

O que existe na linha 64 da classe OrcamentoDAO?

@darlan_machado

Por quê todas as colunas do teu banco são text?

O usuário irá gerar um orçamento para um cliente pq além do texto que ele irá escrever terei que guardar as tags HTML para a formatação da página para a impressão posteriormente.

validadeProposta DATE,
inicioAtividades DATE,
formaPagamento VARCHAR(50)

Nesse caso vou explicar o pq não uso DATE e VARCHAR nos respectivos campos, vou dar exemplo o inicioAtividades que será feita alguma coisa parecida com:

“As atividades serão iniciadas após 30 (dias) corridos, nesse tempo todos recursos e documentos legais serão providenciados para a execução da obra…”

E por ai vai, o mesmo se aplica para os outros

O que existe na linha 64 da classe OrcamentoDAO?

Mais tarde vou dar uma olhada pq estou sem o meu projeto agora e posto aqui.

Entendi. Mas, acho uma abordagem perigosa. Ainda mais se você precisar tratar informações posteriormente.

Mas eu concordo com o que disse a respeito das

validadeProposta DATE,
inicioAtividades DATE,
formaPagamento VARCHAR(50)

Eu colocaria todas com VARCHAR(255) acho que seria o suficiente para o que ele precisa, vou rever isso.

O que me levou a considerar isso foi o nome das colunas. Eu não conhecia o contexto, então sugeri. De qualquer maneira, é um risco (grande) trabalhar desta maneira.

De qualquer maneira, é um risco (grande) trabalhar desta maneira.

Se puder me explicar pq é um risco seria interessante

Talvez não conste dos requisitos agora, mas, já pensou como gerar relatórios identificando quais estão dentro do prazo, quais estão fora, quais foram entregues no prazo, quais em atraso?
Isso, apenas, para exemplificar.
Ouitro ponto é que a probabilidade de você ter informação demais e desnecessária é enorme.

O que existe na linha 64 da classe OrcamentoDAO?

isso:

public Orcamento findById(Long id) {
        return manager.find(Orcamento.class, id); //LINHA 64
    }

@netogdn999
Testei com VARCHAR(MAX) e deu o mesmo problema

Eu tenho quase certeza que o problema não é o tipo de dado que tem na tabela. A questão, ao meu ver, é referente à algo que está ocorrendo nesta linha.
Segundo o que você nos disse, esta linha contém este conteúdo

Como você só postou este trecho, fica complicado analisar.
Aliás, você chegou a debugar? Pois acredito que o problema não ocorre na inicialização, certo?

Então aí é que está a questão, eu fiz um teste, tirei a declaração do tipo TEXT e deixei o Hibernate criar a coluna como VARCHAR(255) e funcionou, não mudei nenhum método nem nada.

Em todo caso está o DAO completo.

package br.com.geoambientalengenharia.DAO;

import br.com.geoambientalengenharia.Model.Orcamento;
import java.util.List;
import javax.enterprise.context.RequestScoped;
import javax.inject.Inject;
import javax.persistence.EntityManager;
import org.hibernate.Session;

/**
 *
 * @author Rafael Delanhese
 */
@RequestScoped
public class OrcamentoDAO {

    private EntityManager manager;

    /**
     * @deprecated CDI eyes only
     */
    public OrcamentoDAO() {
        this(null);
    }

    @Inject
    public OrcamentoDAO(EntityManager manager) {
        this.manager = manager;
    }

    public void refresh(Orcamento orcamento) {
        getSession().refresh(orcamento);
    }

    private Session getSession() {
        return manager.unwrap(Session.class);
    }

    public void saveOrUpdate(Orcamento orcamento) {
        if (orcamento.getIdOrcamento() == null) {
            manager.persist(orcamento);
        } else {
            manager.merge(orcamento);
        }
    }

    public void delete(Orcamento orcamento) {
        manager.remove(orcamento);
    }

    public List<Orcamento> listAll() {
        return manager.createQuery("SELECT new Orcamento(o.idOrcamento, o.dataorc, o.status, o.tipoOrcamento, o.pessoa) "
                + "FROM Orcamento o", Orcamento.class).getResultList();
    }

    public Orcamento findById(Long id) {
        return manager.find(Orcamento.class, id);
    }
}

Problema resolvido com a atualização da dependência:

<dependency>
   <groupId>mysql</groupId>
   <artifactId>mysql-connector-java</artifactId>
   <version>6.0.2</version>
</dependency>

PARA:

<dependency>
   <groupId>mysql</groupId>
   <artifactId>mysql-connector-java</artifactId>
   <version>6.0.6</version>
</dependency>