Galera boa tarde, estou com um problema aqui, tenho a seguinte Classe:

@Repository(value="EntradaProdutoRepository")
public class EntradaProdutoDao implements IEntradaProdutoDao {

    protected HibernateTemplate template;


    @Autowired
    public void setSessionFactory(SessionFactory sessionFactory){
        this.template = new HibernateTemplate(sessionFactory);
    }

*
    @Override
    public List<EntradaProduto> findAll() {

        return template.findByExample(new EntradaProduto();

    }*

     ...

   }

Quando tento chamar o método findAll(), me é retornado a seguinte excessão:

faultCode:Server.Processing faultString:*'failed to lazily initialize a
collection of role: br.com.raizesdeminas.model.EntradaProduto.itensEntrada,
no session or session was closed' *faultDetail:'null'

Eu possuo as seguinte Entidades: EntradaProduto, ItemEntrada,Produto.

 A entidade EntradaProduto possui um ArrayList de ItemEntrada relacionadas
com um relacionamento um-para-muitos, segue exemplo:

@Entity
public class EntradaProduto {

    private Long codigo;
    private Date dataEntrada;
    private List<ItemEntrada> itensEntrada;

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    public Long getCodigo() {
        return codigo;
    }
    public void setCodigo(Long codigo) {
        this.codigo = codigo;
    }

    @Temporal(TemporalType.DATE)
    public Date getDataEntrada() {
        return dataEntrada;
    }
    public void setDataEntrada(Date dataEntrada) {
        this.dataEntrada = dataEntrada;
    }

 *   @OneToMany
    @Cascade(CascadeType.SAVE_UPDATE)
    @JoinColumn(name="codigoEntrada",nullable=false)
    public List<ItemEntrada> getItensEntrada() {
        return itensEntrada;
    }*

    public void setItensEntrada(List<ItemEntrada> itensEntrada) {
        this.itensEntrada= itensEntrada;
    }

}


e a entidade ItemEntrada, possui um Produto, relacionada com muitos-para-um.

Segue exemplo:

@Entity
public class ItemEntrada {

    private Long codigoItemEntrada;
    private Produto produto;
    private int quantidade;
    private String precoCusto;

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    public Long getCodigoItemEntrada() {
        return codigoItemEntrada;
    }
    public void setCodigoItemEntrada(Long codigoItemEntrada) {
        this.codigoItemEntrada = codigoItemEntrada;
    }


    @ManyToOne
    @JoinColumn(name="codigoProduto",nullable=false)
    public Produto getProduto() {
        return produto;
    }
    public void setProduto(Produto produto) {
        this.produto = produto;
    }
    public int getQuantidade() {
        return quantidade;
    }
    public void setQuantidade(int quantidade) {
        this.quantidade = quantidade;
    }
    public String getPrecoCusto() {
        return precoCusto;
    }
    public void setPrecoCusto(String precoCusto) {
        this.precoCusto = precoCusto;
    }




}



Alguém já passou por isto?

abraços.


att,
Samuel


-- 
Samuel de Castro e Silva
SysLive Technology
Desenvolvendo Soluções

www.syslive.com.br

sam...@syslive.com.br
supo...@syslive.com.br

(37) 8801-2761

-- 
Você recebeu esta mensagem porque está inscrito na lista "flexdev"
Para enviar uma mensagem, envie um e-mail para flexdev@googlegroups.com
Para sair da lista, envie um email em branco para 
flexdev-unsubscr...@googlegroups.com
Mais opções estão disponíveis em http://groups.google.com/group/flexdev

Responder a