Duvidas de como implementar metodo

5 respostas
F

Alguém poderia me ajudar tb c/ este outro metodo. Estou utilizando List, para buscar um unico objeto, utilizando Hibernate EntityManaged c/ a ferramenta eclipse-europa, sou iniciante e estou encontrando muita dificuldade, gostaria de saber onde esta sendo o meu erro… caso alguém possa me ajudar, obrigada.

Segue o metodo abaixo:

public List<Funcionario> carregarTudoOrdenadoNome() throws HibernateException {
	entityManaged.getTransaction().begin();
	
	List<Funcionario> funcionario = (Funcionario)entityManaged.find(Funcionario.class, nome);
	funcionario.add(Order.asc("nome"));

	entityManaged.getTransaction().commit();
	return funcionario;
}

5 Respostas

bruno_savi

e qual o erro que ta dando?

F

O erro esta justamente na hora de eu montar o metodo List, aonde encontra sublinhado é aonde está gerando o conflito.

List funcionario = uentityManaged.find(Funcionario.class, nome);[/u]
funcionario.add(Order.asc(“nome”));

bruno_savi

entityManaged

vc criou isso? da onde vc chama isso?

F

bruno_savi:
entityManaged

vc criou isso? da onde vc chama isso?

Criei uma classe HibernateEntityManaged, que faz persistencia por um parametro passado, q é o arquivo.xml.

public class HibernateEntityManaged {

public static EntityManagerFactory entityManaged;

public static EntityManagerFactory getEntityManagerFactory(){
	
	if(entityManaged == null){
		
		entityManaged = Persistence.createEntityManagerFactory("empresa");
	}
	return entityManaged;

}

Na realidade eu preciso listar todos os objetos q já estão cadastrados em um banco e listar todos eles em ordem alfabética, só não estou sabendo como montar um metodo List, para me retorna uma lista dessa, pois o main está funcionando normalmente, é so o metodo q não consigo implementar corretamente, para q me retorne esses valores.

bruno_savi

meio confuso o que eu posso fazer é te dar um exemplo de como eu uso isso no dia a dia…

Fabrica de Conexão

package br.com.comax.hibernate.factory;

import org.apache.log4j.Logger;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.AnnotationConfiguration;

/**
 * 
 * @author Bruno
 * 
 * Classe responsável pelo acesso ao SessionFactory e Session do hibernate
 */
public class HibernateFactory {

	/**
	 * Atributo responsável pela gravação dos logs
	 * 
	 * @param logger
	 */
	private static final Logger logger = Logger
			.getLogger(HibernateFactory.class);

	/**
	 * Atributo responsável pela Única instância da classe
	 * 
	 * @param hibernateFactory
	 */
	private static HibernateFactory hibernateFactory = new HibernateFactory();

	/**
	 * Atributo responsável pela Intância do SessionFactory
	 * 
	 * @param sessionFactory
	 */
	private SessionFactory sessionFactory;

	/**
	 * Contrutor da Classe que seta a configuração do hibernate
	 */
	private HibernateFactory() {

		sessionFactory = new AnnotationConfiguration().configure(
				"/hibernate.cfg.xml").buildSessionFactory();
	}

	/**
	 * Método que retorna instância única da classe
	 * 
	 * @return hibernateFactory
	 */
	public static HibernateFactory getInstance() {

		logger.info("[ retornando a instancia unica da classe ]");
		return hibernateFactory;
	}

	/**
	 * Método que retorna a sessão unica com o banco
	 * 
	 * @return sessionFactory
	 */
	public Session getSession() {

		logger.info("[ Retornando a sessao unica com o banco ]");
		return sessionFactory.openSession();
	}

}

Dao Generico

package br.com.comax.dao.genericDao;

import java.util.Collection;

import org.hibernate.Criteria;
import org.hibernate.Session;
import org.hibernate.Transaction;
import org.hibernate.annotations.OrderBy;

import br.com.comax.hibernate.factory.HibernateFactory;
import br.com.comax.interfaces.dao.InterfaceDAO;

/**
 * 
 * @author Bruno
 * 
 * Classe responsável por todos os metodos Padrão de DAo
 * @param <T>
 */
public class GenericDAO<T> implements InterfaceDAO<T> {

	/**
	 * Método responsável por salvar o objeto no banco de dados
	 * 
	 * @param object
	 */
	
	public void save(Object object) {
		Session session = HibernateFactory.getInstance().getSession();
		Transaction tx = session.beginTransaction();
		session.save(object);
		tx.commit();
		session.close();

	}

	/**
	 * Método responsável por atualizar um Objeto
	 * 
	 * @param object
	 */
	
	public void update(Object object) {
		Session session = HibernateFactory.getInstance().getSession();
		Transaction tx = session.beginTransaction();
		session.update(object);
		tx.commit();
		session.close();

	}

	/**
	 * Método responsável por remover um Objeto
	 * 
	 * @param object
	 */
	
	public void remove(Object object) {
		Session session = HibernateFactory.getInstance().getSession();
		Transaction tx = session.beginTransaction();
		session.delete(object);
		tx.commit();
		session.close();

	}

	/**
	 * Método responsável por buscar um id
	 * 
	 * @param id
	 * @param classe
	 * @return object
	 */
	
	public Object findByPrimaryKey(Class<T> classe, int id) {
		Session session = HibernateFactory.getInstance().getSession();
		Object object = session.get(classe, id);
		session.close();
		return object;
	}

	/**
	 * Método responsável por buscar todos os dados do banco
	 * 
	 * @param classe
	 * @return criteria.list();
	 */
	
	public Collection<T> findByAll(Class<T> classe) {
		Session session = HibernateFactory.getInstance().getSession();
		Criteria criteria = session.createCriteria(classe);
		return criteria.list();
	}
}

olha se ta ajuda em alguma coisa

Criado 25 de junho de 2008
Ultima resposta 25 de jun. de 2008
Respostas 5
Participantes 2