Boa tarde,
Prezados(as) tenho duas classes no meu DAO que estão dando problemas, uma de livros que é a principal e outra de comentarios, elas possuem um relacionamento que é de um livro para muitos comentarios, mas quando vou utilizar meu metodo Bean de avaliação sou abordado com org.hibernate.LazyInitializationException.
Segue abaixo a classe do pacote modelo Livro:
package br.com.caelum.livraria.modelo;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.List;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.ManyToMany;
import javax.persistence.OneToMany;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
@Entity
public class Livro implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue
private Integer id;
private String titulo;
private String isbn;
private double preco;
@Temporal(TemporalType.DATE)
private Calendar dataLancamento = Calendar.getInstance();
private Integer avaliacao;
public Integer getAvaliacao() {
return avaliacao;
}
public void setAvaliacao(Integer avaliacao) {
this.avaliacao = avaliacao;
}
@ManyToMany(fetch = FetchType.EAGER)
private List<Autor> autores = new ArrayList<Autor>();
@OneToMany
private List<Comentario> comentarios = new ArrayList<Comentario>();
public List<Comentario> getComentarios() {
return comentarios;
}
public List<Autor> getAutores() {
return autores;
}
public void adicionaAutor(Autor autor) {
this.autores.add(autor);
}
public void adicionaComentario(Comentario comentario) {
this.comentarios.add(comentario);
}
public Livro() {
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getTitulo() {
return titulo;
}
public void setTitulo(String titulo) {
this.titulo = titulo;
}
public String getIsbn() {
return isbn;
}
public void setIsbn(String isbn) {
this.isbn = isbn;
}
public double getPreco() {
return preco;
}
public void setPreco(double preco) {
this.preco = preco;
}
public Calendar getDataLancamento() {
return dataLancamento;
}
public void setDataLancamento(Calendar dataLancamento) {
this.dataLancamento = dataLancamento;
}
public void removeAutor(Autor autor) {
this.autores.remove(autor);
}
}