[RESOLVIDO] Salvando List<Enum> erro LAZY

Bom dia pessoal,

Tenho uma classe de Enum, onde possuo uma lista de relacionamentos que desejo atribuir a uma tabela. Ao tentar salvar no banco de dados é retornado a seguinte mensagem:

Caused by: org.hibernate.LazyInitializationException: failed to lazily initialize a collection, could not initialize proxy - no Session

o Enum está identificado na tabela da seguinte forma:

@ElementCollection(fetch = FetchType.LAZY, targetClass = EnumTipoRelacionamento.class)
@Enumerated(EnumType.STRING)
@Column(nullable = false)
private List<EnumTipoRelacionamento> tipoRelacionamento;
//Getters and Setters

Alguem sabe como posso resolver esse problema?

Classe é classe e enum é enum (tecnicamente, é um tipo especial de classe que representa itens enumerados).
Dá uma olhada

darlan_machado obrigado pela dica, mas não consegui fazer funcionar… fiz alteração na Entidade ficando assim:

@ElementCollection(fetch = FetchType.LAZY, targetClass = EnumTipoRelacionamento.class)
@Enumerated(EnumType.STRING)
Collection<EnumTipoRelacionamento> tipoRelacionamentos;
//Getters and Setters

porém continua não dando certo… a mensagem de erro mudou, conforme mostra a imagem abaixo…

Tem o stack inteiro do erro ou apenas essa parte? Principalmente a parte do “Caused by”

Segue na integra…

Hibernate:
select
bairro0_.id as id1_0_2_,
bairro0_.cidade_id as cidade3_0_2_,
bairro0_.descricao as descrica2_0_2_,
cidade1_.id as id1_1_0_,
cidade1_.descricao as descrica2_1_0_,
cidade1_.estado_id as estado3_1_0_,
estado2_.id as id1_2_1_,
estado2_.descricao as descrica2_2_1_,
estado2_.pais_id as pais4_2_1_,
estado2_.uf as uf3_2_1_
from
Bairro bairro0_
inner join
Cidade cidade1_
on bairro0_.cidade_id=cidade1_.id
left outer join
Estado estado2_
on cidade1_.estado_id=estado2_.id
where
bairro0_.id=?
Hibernate:
select
pais0_.id as id1_3_0_,
pais0_.descricao as descrica2_3_0_,
pais0_.sigla as sigla3_3_0_
from
Pais pais0_
where
pais0_.id=?
.:: Bean - salvar ::.
.:: Service - verificarDuplicidade ::.
.:: Repository - verificarDuplicidade ::.
.:: Repository CPF ::.
Hibernate:
select
parceirone0_.id as id1_6_,
parceirone0_.bairro_id as bairro25_6_,
parceirone0_.cep as cep2_6_,
parceirone0_.cnpj as cnpj3_6_,
parceirone0_.cpf as cpf4_6_,
parceirone0_.dataExpedicao as dataExpe5_6_,
parceirone0_.dataNascimento as dataNasc6_6_,
parceirone0_.email as email7_6_,
parceirone0_.estadoCivil as estadoCi8_6_,
parceirone0_.inscricaoEstadual as inscrica9_6_,
parceirone0_.inscricaoMunicipal as inscric10_6_,
parceirone0_.nome as nome11_6_,
parceirone0_.nomeFantasia as nomeFan12_6_,
parceirone0_.nomeMae as nomeMae13_6_,
parceirone0_.nomePai as nomePai14_6_,
parceirone0_.numero as numero15_6_,
parceirone0_.orgaoEmissor as orgaoEm16_6_,
parceirone0_.rg as rg17_6_,
parceirone0_.rua as rua18_6_,
parceirone0_.status as status19_6_,
parceirone0_.suframa as suframa20_6_,
parceirone0_.telefone1 as telefon21_6_,
parceirone0_.telefone2 as telefon22_6_,
parceirone0_.telefone3 as telefon23_6_,
parceirone0_.tipoPessoa as tipoPes24_6_
from
parceiro_negocio parceirone0_
where
upper(parceirone0_.nome)=?
and parceirone0_.cpf=?
.:: Repository - guardar ::.
.:: Nome: GEISY ::.
.:: TipoRelacionamento: [CLIENTE, COLABORADOR] ::.
Hibernate:
select
bairro0_.id as id1_0_2_,
bairro0_.cidade_id as cidade3_0_2_,
bairro0_.descricao as descrica2_0_2_,
cidade1_.id as id1_1_0_,
cidade1_.descricao as descrica2_1_0_,
cidade1_.estado_id as estado3_1_0_,
estado2_.id as id1_2_1_,
estado2_.descricao as descrica2_2_1_,
estado2_.pais_id as pais4_2_1_,
estado2_.uf as uf3_2_1_
from
Bairro bairro0_
inner join
Cidade cidade1_
on bairro0_.cidade_id=cidade1_.id
left outer join
Estado estado2_
on cidade1_.estado_id=estado2_.id
where
bairro0_.id=?
Hibernate:
select
pais0_.id as id1_3_0_,
pais0_.descricao as descrica2_3_0_,
pais0_.sigla as sigla3_3_0_
from
Pais pais0_
where
pais0_.id=?
Hibernate:
insert
into
parceiro_negocio
(bairro_id, cep, cnpj, cpf, dataExpedicao, dataNascimento, email, estadoCivil, inscricaoEstadual, inscricaoMunicipal, nome, nomeFantasia, nomeMae, nomePai, numero, orgaoEmissor, rg, rua, status, suframa, telefone1, telefone2, telefone3, tipoPessoa)
values
(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
Hibernate:
insert
into
ParceiroNegocio_tipoRelacionamentos
(ParceiroNegocio_id, tipoRelacionamentos)
values
(?, ?)
jun 08, 2018 1:33:43 PM com.sun.faces.lifecycle.InvokeApplicationPhase execute
ADVERTÊNCIA: #{parceiroNegocioBean.salvar()}: javax.persistence.RollbackException: Error while committing the transaction
javax.faces.FacesException: #{parceiroNegocioBean.salvar()}: javax.persistence.RollbackException: Error while committing the transaction
at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:117)
at javax.faces.component.UICommand.broadcast(UICommand.java:315)
at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:786)
at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1251)
at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:81)
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:593)
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.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:118)
at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:84)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:113)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:103)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:113)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:54)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:45)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilter(BasicAuthenticationFilter.java:150)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at org.springframework.security.web.authentication.ui.DefaultLoginPageGeneratingFilter.doFilter(DefaultLoginPageGeneratingFilter.java:91)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:183)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:105)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:87)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:192)
at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:160)
at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:237)
at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167)
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:199)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:475)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:80)
at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:651)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342)
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:498)
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:796)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1374)
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Unknown Source)
Caused by: javax.faces.el.EvaluationException: javax.persistence.RollbackException: Error while committing the transaction
at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:101)
at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:101)
… 59 more
Caused by: javax.persistence.RollbackException: Error while committing the transaction
at org.hibernate.ejb.TransactionImpl.commit(TransactionImpl.java:92)
at util.jpa.TransactionInterceptor.invoke(TransactionInterceptor.java:47)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.jboss.weld.interceptor.reader.SimpleInterceptorInvocation$SimpleMethodInvocation.invoke(SimpleInterceptorInvocation.java:73)
at org.jboss.weld.interceptor.proxy.InterceptorMethodHandler.executeAroundInvoke(InterceptorMethodHandler.java:85)
at org.jboss.weld.interceptor.proxy.InterceptorMethodHandler.executeInterception(InterceptorMethodHandler.java:73)
at org.jboss.weld.interceptor.proxy.InterceptorMethodHandler.invoke(InterceptorMethodHandler.java:57)
at org.jboss.weld.bean.proxy.CombinedInterceptorAndDecoratorStackMethodHandler.invoke(CombinedInterceptorAndDecoratorStackMethodHandler.java:79)
at org.jboss.weld.bean.proxy.CombinedInterceptorAndDecoratorStackMethodHandler.invoke(CombinedInterceptorAndDecoratorStackMethodHandler.java:68)
at repository.ParceiroNegocioRepository$Proxy$_$$WeldSubclass.guardar(Unknown Source)
at service.ParceiroNegocioService.verificarDuplicidade(ParceiroNegocioService.java:25)
at controller.ParceiroNegocioBean.salvar(ParceiroNegocioBean.java:66)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.ref2018-06-08 13:33:43,399 ERROR [util.jsf.JsfExceptionHandler] Erro de sistema: #{parceiroNegocioBean.salvar()}: javax.persistence.RollbackException: Error while committing the transaction
javax.faces.FacesException: #{parceiroNegocioBean.salvar()}: javax.persistence.RollbackException: Error while committing the transaction
at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:89)
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:593)
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.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:118)
at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:84)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:113)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:103)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:113)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:54)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:45)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilter(BasicAuthenticationFilter.java:150)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at org.springframework.security.web.authentication.ui.DefaultLoginPageGeneratingFilter.doFilter(DefaultLoginPageGeneratingFilter.java:91)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:183)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:105)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:87)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:192)
at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:160)
at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:237)
at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167)
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:199)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:475)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:80)
at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:651)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342)
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:498)
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:796)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1374)
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Unknown Source)
Caused by: javax.faces.FacesException: #{parceiroNegocioBean.salvar()}: javax.persistence.RollbackException: Error while committing the transaction
at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:117)
at javax.faces.component.UICommand.broadcast(UICommand.java:315)
at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:786)
at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1251)
at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:81)
… 55 more
Caused by: javax.faces.el.EvaluationException: javax.persistence.RollbackException: Error while committing the transaction
at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:101)
at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:101)
… 59 more
Caused by: javax.persistence.RollbackException: Error while committing the transaction
at org.hibernate.ejb.TransactionImpl.commit(TransactionImpl.java:92)
at util.jpa.TransactionInterceptor.invoke(TransactionInterceptor.java:47)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.jboss.weld.interceptor.reader.SimpleInterceptorInvocation$SimpleMethodInvocation.invoke(SimpleInterceptorInvocation.java:73)
at org.jboss.weld.interceptor.proxy.InterceptorMethodHandler.executeAroundInvoke(InterceptorMethodHandler.java:85)
at org.jboss.weld.interceptor.proxy.InterceptorMethodHandler.executeInterception(InterceptorMethodHandler.java:73)
at org.jboss.weld.interceptor.proxy.InterceptorMethodHandler.invoke(InterceptorMethodHandler.java:57)
at org.jboss.weld.bean.proxy.CombinedInterceptorAndDecoratorStackMethodHandler.invoke(CombinedInterceptorAndDecoratorStackMethodHandler.java:79)
at org.jboss.weld.bean.proxy.CombinedInterceptorAndDecoratorStackMethodHandler.invoke(CombinedInterceptorAndDecoratorStackMethodHandler.java:68)
at repository.ParceiroNegocioRepository$Proxy$
$$_WeldSubclass.guardar(Unknown Source)
at service.ParceiroNegocioService.verificarDuplicidade(ParceiroNegocioService.java:25)
at controller.ParceiroNegocioBean.salvar(ParceiroNegocioBean.java:66)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.apache.el.parser.AstValue.invoke(AstValue.java:247)
at org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:267)
at org.jboss.weld.util.el.ForwardingMethodExpression.invoke(ForwardingMethodExpression.java:40)
at org.jboss.weld.el.WeldMethodExpression.invoke(WeldMethodExpression.java:50)
at com.sun.faces.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:105)
at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:87)
… 60 more
Caused by: java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Enum
at org.hibernate.type.EnumType.nullSafeSet(EnumType.java:155)
at org.hibernate.type.CustomType.nullSafeSet(CustomType.java:158)
at org.hibernate.persister.collection.AbstractCollectionPersister.writeElement(AbstractCollectionPersister.java:863)
at org.hibernate.persister.collection.AbstractCollectionPersister.recreate(AbstractCollectionPersister.java:1253)
at org.hibernate.action.internal.CollectionRecreateAction.execute(CollectionRecreateAction.java:58)
at org.hibernate.engine.spi.ActionQueue.execute(ActionQueue.java:377)
at org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:369)
at org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:292)
at org.hibernate.event.internal.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:339)
at org.hibernate.event.internal.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:52)
at org.hibernate.internal.SessionImpl.flush(SessionImpl.java:1234)
at org.hibernate.internal.SessionImpl.managedFlush(SessionImpl.java:404)
at org.hibernate.engine.transaction.internal.jdbc.JdbcTransaction.beforeTransactionCommit(JdbcTransaction.java:101)
at org.hibernate.engine.transaction.spi.AbstractTransactionImpl.commit(AbstractTransactionImpl.java:175)
at org.hibernate.ejb.TransactionImpl.commit(TransactionImpl.java:75)
… 84 more
2018-06-08 13:33:43,401 INFO [org.hibernate.engine.jdbc.batch.internal.AbstractBatchImpl] HHH000010: On release of batch it still contained JDBC statements
lect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.apache.el.parser.AstValue.invoke(AstValue.java:247)
at org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:267)
at org.jboss.weld.util.el.ForwardingMethodExpression.invoke(ForwardingMethodExpression.java:40)
at org.jboss.weld.el.WeldMethodExpression.invoke(WeldMethodExpression.java:50)
at com.sun.faces.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:105)
at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:87)
… 60 more
Caused by: java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Enum
at org.hibernate.type.EnumType.nullSafeSet(EnumType.java:155)
at org.hibernate.type.CustomType.nullSafeSet(CustomType.java:158)
at org.hibernate.persister.collection.AbstractCollectionPersister.writeElement(AbstractCollectionPersister.java:863)
at org.hibernate.persister.collection.AbstractCollectionPersister.recreate(AbstractCollectionPersister.java:1253)
at org.hibernate.action.internal.CollectionRecreateAction.execute(CollectionRecreateAction.java:58)
at org.hibernate.engine.spi.ActionQueue.execute(ActionQueue.java:377)
at org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:369)
at org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:292)
at org.hibernate.event.internal.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:339)
at org.hibernate.event.internal.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:52)
at org.hibernate.internal.SessionImpl.flush(SessionImpl.java:1234)
at org.hibernate.internal.SessionImpl.managedFlush(SessionImpl.java:404)
at org.hibernate.engine.transaction.internal.jdbc.JdbcTransaction.beforeTransactionCommit(JdbcTransaction.java:101)
at org.hibernate.engine.transaction.spi.AbstractTransactionImpl.commit(AbstractTransactionImpl.java:175)
at org.hibernate.ejb.TransactionImpl.commit(TransactionImpl.java:75)
… 84 more

Veja, o mapeamento sugerido no link que eu indiquei define uma tabela auxiliar para a coleção, o que você, aparentemente, não fez. Esta é a causa do erro.

darlan, desculpe, mas não consegui entender como eu deveria proceder… vou detalhar um pouco melhor a minha dúvida, talvez eu não tenha conseguido me expressar direito… Segue:

Tenho a seguinte enum:
TipoRelacionamento.java (350 Bytes)

package modelo;

public enum TipoRelacionamento {
CLIENTE(“Cliente”),
FORNECEDOR(“Fornecedor”),
COLABORADOR(“Colaborador”),
ESTABELECIMENTO(“Estabelecimento”);

private String descricao;

TipoRelacionamento(String descricao){
this.descricao = descricao;
}

public String getDescricao() {
return descricao;
}
}

Na minha classe “modelo” “parceiroNegocio” essa enum esta relacionada da seguinte forma:
ParceiroNegocio.java (8,1 KB)

@ElementCollection(fetch = FetchType.LAZY, targetClass = EnumTipoRelacionamento.class)
@Enumerated(EnumType.STRING)
@Column(nullable = false)
private List<EnumTipoRelacionamento> tipoRelacionamento;

No Bean “ParceiroNegocioBean” instanciei a classe modelo, conforme mostra a imagem abaixo:
ParceiroNegocioBean.java (2,8 KB)

Na página de cadastro eu coloquei para ficar dinâmico de acordo com o enum… se acrescentar ou excluir um item nesse enum automaticamente acrescenta ou exclui o item na pagina de cadastro…
ParceiroNegocioCadastro.xhtml (9,1 KB)

<p:selectManyCheckbox id=“relacionamento” value="#{parceiroNegocioBean.parceiroNegocio.tipoRelacionamento}" >
<f:selectItems value="#{parceiroNegocioBean.tipoRelacionamentos}" var=“tipoRelacionamentos” itemValue="#{tipoRelacionamentos}" itemLabel="#{tipoRelacionamentos.descricao}"/>
</p:selectManyCheckbox>

Conforme imagem abaixo


ao clicar no botão salvar ele seguirá a seguinte sequencia…

1º Bean:
Chama o método salvar… que por sua vez chama a classe service o método VerificarDuplicidade

2º Service
A classe service faz a verificação se já existe algum cadastro com os dados informados através do método verificarDuplicidade localizado na classe Repository, caso não exista chama o método guardar do repository.
ParceiroNegocioService.java (980 Bytes)

3º Repository
Dentro do repository é que faço toda interação com o Banco de Dados…
ParceiroNegocioRepository.java (5,0 KB)

4º No banco de dados o Hibernate criou automaticamente uma tabela chamada parceironegocio_tiporelacionamento… mas eu não criei ela no eclipse… acredito que seja por causa das anotações…

5º Resultado
Conforme mostra a imagem abaixo ele está conseguindo obter os checkbox informado… mas não grava no banco…

dando a seguinte mensagem:

Conseguiu compreender o que estou tentando fazer?

Pessoal consegui resolver o problema através do post [RESOLVIDO] Hibernate com lista de Enumerations

Em resumo precisei fazer 3 coisas…

1º Criar um converter para minha enum:
TipoRelacionamentoConverter.java (1,4 KB)

2º Informar o converter dentro do selectManyCheckbox
3º Informar um <f:attribute name=“collectionType” value=“java.util.ArrayList”/> dentro do selectManyCheckbox
Ficando da seguinte forma: