Hibernate: Illegal attempt to associate a collection with two open sessions

No momento que eu mando atualizar este bean ocorre este erro alguém tem alguma dica?

Estou com o seguinte código:

[code]package br.gov.inca.rcbp.bean;

import java.util.ArrayList;
import java.util.Date;
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.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;

import br.gov.inca.publico.bean.TipoFlag;

@Entity
@Table(name = “rcbp_questionario”, schema = “rcbp”)
@SequenceGenerator(name = “SEQUENCE”, sequenceName = “rcbp.rcbp_questionario_id_questionario_rcbp_seq”,allocationSize=1)
public class QuestionarioRCBP {

@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "SEQUENCE")
@Column(name = "id_questionario_rcbp")
private Long idQuestionarioRCBP;

@ManyToOne(cascade = CascadeType.PERSIST)
@JoinColumn(name = "id_instituicao")
private RCBP rcbp;

@OneToMany(mappedBy = "questionario",cascade=CascadeType.ALL)
private List<InfraEstruturaRCBP> infraEstruturas = new ArrayList<InfraEstruturaRCBP>();

@OneToMany(mappedBy = "questionario", cascade = CascadeType.ALL)
private List<QuadroDePessoal> quadroDePessoal = new ArrayList<QuadroDePessoal>();

@OneToMany(mappedBy = "questionario", cascade = CascadeType.ALL)
private List<SituacaoAtualBase> situacoesBase = new ArrayList<SituacaoAtualBase>();

@OneToMany(mappedBy = "questionario", cascade = CascadeType.ALL)
private List<QtdFonteNotificadora> qtdFonteNotificadora = new ArrayList<QtdFonteNotificadora>();

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

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

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

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

@Column(name = "fg_utiliza_sisbasepop_inca")
private String utilizaSisbasepopInca = TipoFlag.NAO;

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

@Column(name = "fg_consulta_comissao_assessora")
private String consultaComissaoAcessoria = TipoFlag.NAO;

@Column(name = "fg_gerencia_recurso_ppi")
private String gerenciaRecursoPPI = TipoFlag.NAO;

@Column(name = "fg_gerencia_recursos_pav")
private String gerenciaRecursoPAV = TipoFlag.NAO;

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

@Column(name = "fg_consulta_banco_sih")
private String consultaBancoSIH = TipoFlag.NAO;

@Column(name = "fg_consulta_banco_apac")
private String consultaBancoAPAC = TipoFlag.NAO;

@Column(name = "fg_faz_seguimento")
private String fazSeguimento = TipoFlag.NAO;

@Column(name = "fg_participa_estudo_sobrevida")
private String participaEstudoSobrevida = TipoFlag.NAO;

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

@Column(name = "fg_retorna_informacoes_sim")
private String retornaInformacoesSIM = TipoFlag.NAO;

@Column(name = "fg_vigilancia_dant")
private String vigilanciaDANT = TipoFlag.NAO;

@Column(name = "fg_regulacao_rao")
private String regulacaoRAO = TipoFlag.NAO;

@Column(name = "fg_controle_colo_mama")
private String controleColoMama = TipoFlag.NAO;

@Column(name = "ds_outra_atividade")
private String outraAtividade = TipoFlag.NAO;

@Column(name = "fg_perfil_incidencia")
private String perfilIncidencia = TipoFlag.NAO;

@Column(name = "fg_analise_espacial_incidencia")
private String analiseEspecialIncidencia = TipoFlag.NAO;

@Column(name = "fg_relatorios_fontes_notificadoras")
private String relatoriosFontesNotificadoras = TipoFlag.NAO;

@Column(name = "dt_preenchimento")
private Date dataPreenchimento = new Date();

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

public String getAbrangenciaPopulacao() {
	return abrangenciaPopulacao;
}

public void setAbrangenciaPopulacao(String abrangenciaPopulacao) {
	this.abrangenciaPopulacao = abrangenciaPopulacao;
}

public String getAnaliseEspecialIncidencia() {
	return analiseEspecialIncidencia;
}

public void setAnaliseEspecialIncidencia(String analiseEspecialIncidencia) {
	this.analiseEspecialIncidencia = analiseEspecialIncidencia;
}

public String getAnoImplantacao() {
	return anoImplantacao;
}

public void setAnoImplantacao(String anoImplantacao) {
	this.anoImplantacao = anoImplantacao;
}

public String getAnoInicioColeta() {
	return anoInicioColeta;
}

public void setAnoInicioColeta(String anoInicioColeta) {
	this.anoInicioColeta = anoInicioColeta;
}

public String getConsultaBancoAPAC() {
	return consultaBancoAPAC;
}

public void setConsultaBancoAPAC(String consultaBancoAPAC) {
	this.consultaBancoAPAC = consultaBancoAPAC;
}

public String getconsultaBancoSIH() {
	return consultaBancoSIH;
}

public void setconsultaBancoSIH(String consultaBancoSIH) {
	this.consultaBancoSIH = consultaBancoSIH;
}

public String getConsultaComissaoAcessoria() {
	return consultaComissaoAcessoria;
}

public void setConsultaComissaoAcessoria(String consultaComissaoAcessoria) {
	this.consultaComissaoAcessoria = consultaComissaoAcessoria;
}

public String getControleColoMama() {
	return controleColoMama;
}

public void setControleColoMama(String controleColoMama) {
	this.controleColoMama = controleColoMama;
}

public Date getDataPreenchimento() {
	return dataPreenchimento;
}

public void setDataPreenchimento(Date dataPreenchimento) {
	this.dataPreenchimento = dataPreenchimento;
}

public String getFazSeguimento() {
	return fazSeguimento;
}

public void setFazSeguimento(String fazSeguimento) {
	this.fazSeguimento = fazSeguimento;
}

public String getGerenciaRecursoPAV() {
	return gerenciaRecursoPAV;
}

public void setGerenciaRecursoPAV(String gerenciaRecursoPAV) {
	this.gerenciaRecursoPAV = gerenciaRecursoPAV;
}

public String getGerenciaRecursoPPI() {
	return gerenciaRecursoPPI;
}

public void setGerenciaRecursoPPI(String gerenciaRecursoPPI) {
	this.gerenciaRecursoPPI = gerenciaRecursoPPI;
}

public Long getIdQuestionarioRCBP() {
	return idQuestionarioRCBP;
}

public void setIdQuestionarioRCBP(Long idQuestionarioRCBP) {
	this.idQuestionarioRCBP = idQuestionarioRCBP;
}


public String getConsultaBancoSIH() {
	return consultaBancoSIH;
}

public void setConsultaBancoSIH(String consultaBancoSIH) {
	this.consultaBancoSIH = consultaBancoSIH;
}

public List<InfraEstruturaRCBP> getInfraEstruturas() {
	return infraEstruturas;
}

public void setInfraEstruturas(List<InfraEstruturaRCBP> infraEstruturas) {
	this.infraEstruturas = infraEstruturas;
}

public String getOrgaoResponsavelOrganograma() {
	return orgaoResponsavelOrganograma;
}

public void setOrgaoResponsavelOrganograma(String orgaoResponsavelOrganograma) {
	this.orgaoResponsavelOrganograma = orgaoResponsavelOrganograma;
}

public String getOutraAtividade() {
	return outraAtividade;
}

public void setOutraAtividade(String outraAtividade) {
	this.outraAtividade = outraAtividade;
}

public String getParticipaEstudoSobrevida() {
	return participaEstudoSobrevida;
}

public void setParticipaEstudoSobrevida(String participaEstudoSobrevida) {
	this.participaEstudoSobrevida = participaEstudoSobrevida;
}

public String getPerfilIncidencia() {
	return perfilIncidencia;
}

public void setPerfilIncidencia(String perfilIncidencia) {
	this.perfilIncidencia = perfilIncidencia;
}

public String getPeriodoEnviadoIARC() {
	return periodoEnviadoIARC;
}

public void setPeriodoEnviadoIARC(String periodoEnviadoIARC) {
	this.periodoEnviadoIARC = periodoEnviadoIARC;
}

public String getQualEstudoSobrevida() {
	return qualEstudoSobrevida;
}

public void setQualEstudoSobrevida(String qualEstudoSobrevida) {
	this.qualEstudoSobrevida = qualEstudoSobrevida;
}

public RCBP getRcbp() {
	return rcbp;
}

public void setRcbp(RCBP rcbp) {
	this.rcbp = rcbp;
}

public String getRegulacaoRAO() {
	return regulacaoRAO;
}

public void setRegulacaoRAO(String regulacaoRAO) {
	this.regulacaoRAO = regulacaoRAO;
}

public String getRelatoriosFontesNotificadoras() {
	return relatoriosFontesNotificadoras;
}

public void setRelatoriosFontesNotificadoras(
		String relatoriosFontesNotificadoras) {
	this.relatoriosFontesNotificadoras = relatoriosFontesNotificadoras;
}

public String isRetornaInformacoesSIM() {
	return retornaInformacoesSIM;
}

public void setRetornaInformacoesSIM(String retornaInformacoesSIM) {
	this.retornaInformacoesSIM = retornaInformacoesSIM;
}

public String getSituacaoQuestionario() {
	return situacaoQuestionario;
}

public void setSituacaoQuestionario(String situacaoQuestionario) {
	this.situacaoQuestionario = situacaoQuestionario;
}

public String getUtilizaSisbasepopInca() {
	return utilizaSisbasepopInca;
}

public void setUtilizaSisbasepopInca(String utilizaSisbasepopInca) {
	this.utilizaSisbasepopInca = utilizaSisbasepopInca;
}

public String getVersaoSisbasepopInca() {
	return versaoSisbasepopInca;
}

public void setVersaoSisbasepopInca(String versaoSisbasepopInca) {
	this.versaoSisbasepopInca = versaoSisbasepopInca;
}

public String getVigilanciaDANT() {
	return vigilanciaDANT;
}

public void setVigilanciaDANT(String vigilanciaDANT) {
	this.vigilanciaDANT = vigilanciaDANT;
}

public List<QtdFonteNotificadora> getQtdFonteNotificadora() {
	return qtdFonteNotificadora;
}

public void setQtdFonteNotificadora(
		List<QtdFonteNotificadora> qtdFonteNotificadora) {
	this.qtdFonteNotificadora = qtdFonteNotificadora;
}

public List<QuadroDePessoal> getQuadroDePessoal() {
	return quadroDePessoal;
}

public void setQuadroDePessoal(List<QuadroDePessoal> quadroDePessoal) {
	this.quadroDePessoal = quadroDePessoal;
}

public List<SituacaoAtualBase> getSituacoesBase() {
	return situacoesBase;
}

public void setSituacoesBase(List<SituacaoAtualBase> situacoesBase) {
	this.situacoesBase = situacoesBase;
}

public String getRetornaInformacoesSIM() {
	return retornaInformacoesSIM;
}

}
[/code]

nda???