Erro java.lang.ClassNotFoundException para o meu DAO generico

0 respostas
F

Eu criei um DAO generico para tentar salvar dados no meu bancodedados, porém o JSF parrece estar dando um problema no meu codigo que eu nao entendo

HibernateDAO.java

[code=java]/*

  • To change this template, choose Tools | Templates
  • and open the template in the editor.
    */

package br.salesianos.dao;

import br.salesianos.db.CriadorDeSessao;

import java.io.Serializable;

import java.util.List;

import javax.faces.bean.ManagedBean;

import org.hibernate.Session;

public class HibernateDAO {

private Class<T> classe;

public HibernateDAO(Class<T> classe) {
	super();
	this.classe = classe;
}


public void atualizar(T bean) {
	Session session = CriadorDeSessao.getSession();
	session.beginTransaction();
	session.update(bean);
	session.getTransaction().commit();
}


public void excluir(T bean) {
	Session session = CriadorDeSessao.getSession();
	session.beginTransaction();
	session.delete(bean);
	session.getTransaction().commit();
}


public T getBean(Serializable codigo) {
	Session session = CriadorDeSessao.getSession();
	session.beginTransaction();
	T bean = (T)session.get(classe, codigo);
	session.getTransaction().commit();
	return bean;
}


public List<T> getBeans() {
	Session session = CriadorDeSessao.getSession();
	session.beginTransaction();
	List<T> beans = (List<T>)session.createCriteria(classe).list();
	session.getTransaction().commit();
	return beans;
}


public void salvar(T bean) {
	Session session = CriadorDeSessao.getSession();
	session.beginTransaction();
	session.save(bean);
	session.getTransaction().commit();
}

}

Eu uso JSF e Hibernate na minha aplicação.

O codigo abaixo funciona perfeitamente dentro do netbeans quando eu chamo ele como se fosse um aplicativo desktop

package br.salesianos.dao;

import br.salesianos.modelo.*;

public class inserirEstado {

    public static void main(String ags[]) {

        System.out.println("oi");
        HibernateDAO<Cidade> cidadeDAO = new HibernateDAO<Cidade>(Cidade.class);

        Estado obj_estado = new Estado();
        obj_estado.setEst_id(1);

        Cidade obj_cidade = new Cidade();
        obj_cidade.setCid_nom("ffffddd");
        obj_cidade.setEstado(obj_estado);

        cidadeDAO.salvar(obj_cidade);
        
    }
}[/code]

porém quando eu uso um ManagedBean com a mesma logica do codigo acima, ele nao funciona, da erro de classe nao encontrada, fala que nao achou meu DAO generico

[code=java]java.lang.NoClassDefFoundError: br/salesianos/dao/HibernateDAO

eese é o ManagedBean que eu uso para salvar os dados atraves da pagina xhtml

GravaCidade.java

[code=java]package br.salesianos.db;

import br.salesianos.dao.HibernateDAO;

import br.salesianos.modelo.Cidade;

import br.salesianos.modelo.Estado;
import java.util.ArrayList;

import java.util.LinkedList;

import java.util.List;

import javax.faces.bean.ManagedBean;

import org.hibernate.*;
@ManagedBean

public class GravaCidade

{

private int est_id;

private String cid_nome;

private List estados;
public String gravar()
{

         
    HibernateDAO<Cidade> cidadeDAO = new HibernateDAO<Cidade>(Cidade.class);

    Estado obj_estado = new Estado();
    obj_estado.setEst_id(1);

    Cidade obj_cidade = new Cidade();
    obj_cidade.setCid_nom("ffffddd");
    obj_cidade.setEstado(obj_estado);

    cidadeDAO.salvar(obj_cidade);
    return "sucesso";
}


/**
 * @return the est_id
 */
public int getEst_id() {
    return est_id;
}

/**
 * @param est_id the est_id to set
 */
public void setEst_id(int est_id) {
    this.est_id = est_id;
}

/**
 * @return the cid_nome
 */
public String getCid_nome() {
    return cid_nome;
}

/**
 * @param cid_nome the cid_nome to set
 */
public void setCid_nome(String cid_nome) {
    this.cid_nome = cid_nome;
}

}

porque isso nao esta funcionando no aplicação JSF?

cadastro_cidade.xhtml

[code=java]

Curriculo Salesiano

Cadastro de Cidades

<f:view>
<h:form>


Nome da cidade:
Estado:

<h:commandButton value=“Gravar” action="#{gravaCidade.gravar}" />

</h:form>
</f:view>


[/code]
Criado 29 de março de 2011
Respostas 0
Participantes 1