Erro ao carregar relacionamento LazyInitializationException

0 respostas
renato_ramos

Oi gente!

preciso de ajuda para mapear minhas classes de persistencia

eu tenho essas tres classes

public class Questionario implements Serializable {
    private static final long serialVersionUID = 1L;
    @Id @GeneratedValue(strategy=GenerationType.IDENTITY)
    @Basic(optional = false)
    @Column(name = "id_questionario")
    private Integer idQuestionario;
    @Basic(optional = false)
    @Column(name = "desc_pesquisa")
    private String descPesquisa;
    @ManyToMany(fetch = FetchType.EAGER)
    private Collection<Questao> questaoCollection = new ArrayList<Questao>();
(...)
public class Questao implements Serializable {
    private static final long serialVersionUID = 1L;
    @Id @GeneratedValue(strategy=GenerationType.IDENTITY)
    @Basic(optional = false)
    @Column(name = "id_questao")
    private Integer idQuestao;
    @Basic(optional = false)
    @Column(name = "desc_questao")
    private String descQuestao;
    @ManyToMany(cascade=CascadeType.ALL, mappedBy="questaoCollection", fetch = FetchType.LAZY)
    @JoinTable(name = "tbl_modelo_questionario", joinColumns = {@JoinColumn(name = "id_questao", referencedColumnName = "id_questao")}, inverseJoinColumns = {@JoinColumn(name = "id_questionario", referencedColumnName = "id_questionario")})
    private Collection<Questionario> questionarioCollection = new ArrayList<Questionario>();
    @OneToMany(cascade=CascadeType.ALL, mappedBy = "idQuestao", fetch = FetchType.LAZY)
    private Collection<Alternativa> alternativaCollection = new ArrayList<Alternativa>();
    @OneToMany(cascade = CascadeType.ALL, mappedBy = "idQuestao", fetch = FetchType.LAZY)
    private Collection<Resposta> respostaCollection;
(...)
public class Alternativa implements Serializable {
    private static final long serialVersionUID = 1L;
    @Basic(optional = false)
    @Column(name = "desc_alternativa")
    private String descAlternativa;
    @Id @GeneratedValue(strategy=GenerationType.IDENTITY)
    @Basic(optional = false)
    @Column(name = "id_alternativa")
    private Integer idAlternativa;
    @JoinColumn(name = "id_questao", referencedColumnName = "id_questao")
    @ManyToOne(cascade=CascadeType.ALL)
    private Questao idQuestao;

eu sou iniciante com hibernate.

procurando na internet eu vi algo sobre a exeção de inicialização lazy, mas não entendi muito bem.

debugando eu vi que a classe questionario carrega a lista de questoes mas a classe de questao não carrega nada… e se eu coloco “eger” … não roda … com execao de “não pode carregar multiplas bag”

desculpem pelo o post enorme ^^’

obrigado!
[]'s

Renato Ramos

Criado 20 de novembro de 2009
Respostas 0
Participantes 1