Duvida como faço pra acessar via xml do Hibernate ?org.hibernate.MappingException: An AnnotationC

2 respostas
P

Olá,

duvida como faço pra acessar o arquivo xml

SessionFactory sf = new Configuration().configure("br/com/dao/hibernate.cfg.xml").buildSessionFactory();
		Session s = sf.openSession();

pra ler a configuração do banco
pois está me dando o erro abaixo e estou usando anotação na tabela.

se alguém puder me ajudar …

agradeceria.

abs

- Configuration resource: br/com/dao/hibernate.cfg.xml
Erro na rotina getUsuarios() =org.hibernate.MappingException: An AnnotationConfiguration instance is required to use <mapping class="br.com.marisanova.model.PubUsuario"/>
public List listarUsuario(){
		System.out.println("listarUsuario()");
		SessionFactory sf = new Configuration().configure("br/com/dao/hibernate.cfg.xml").buildSessionFactory();
		Session s = sf.openSession();
		s.beginTransaction();
        List lista = s.createQuery("from Usuario").list();
        s.getTransaction().commit();
        return lista;
	}
<session-factory>

		<property name="hibernate.dialect">org.hibernate.dialect.Oracle9iDialect</property>
		<property name="hibernate.connection.driver_class">oracle.jdbc.driver.OracleDriver</property>
		
		<property name="hibernate.connection.url">jdbc:oracle:thin:@129.1.30.999:1521:DES</property>
		<property name="hibernate.connection.username">des</property>
		<property name="hibernate.connection.password">des</property>

		<property name="hibernate.show_sql">true</property>
		<property name="hibernate.format_sql">true</property>

		<property name="hibernate.c3p0.min_size">5</property>
		<property name="hibernate.c3p0.max_size">20</property>
		<property name="hibernate.c3p0.timeout">180</property>
		<property name="hibernate.c3p0.idle_test_period">100</property>

		
		<mapping class="br.com.marisanova.model.Usuario"/>
		

	</session-factory>

2 Respostas

K

http://www.guj.com.br/posts/list/31536.java#256162

P

o que fiz pra funcionar …

package br.com.marisanova.dao;

import org.hibernate.SessionFactory;
import org.hibernate.cfg.AnnotationConfiguration;

public class HibernateUtil {

	private static SessionFactory sessionFactory; 
	
	static { 
		try { 
//			Create the SessionFactory from hibernate.cfg.xml 
			sessionFactory = new AnnotationConfiguration() 
			.configure("br/com/marisanova/dao/hibernate.cfg.xml") 
			.buildSessionFactory(); 
		} catch (Throwable ex) { 
//			Make sure you log the exception, as it might be swallowed 
			System.err.println("Initial SessionFactory creation failed." + ex); 
			throw new ExceptionInInitializerError(ex); 
		} 
	} 
	
	public static SessionFactory getSessionFactory() { 
		if(sessionFactory == null){ 
			try { 
				sessionFactory = new AnnotationConfiguration() 
				.configure("br/com/marisanova/dao/hibernate.cfg.xml") 
				.buildSessionFactory(); 
			} catch (Throwable ex) { 
 
				System.err.println("Initial SessionFactory creation failed." + ex); 
				throw new ExceptionInInitializerError(ex); 
			} 
			
		} 
		return sessionFactory; 
	} 
	
}
-------------------------------------------------------------
package br.com.marisanova.dao;

import java.util.List;

import org.hibernate.Criteria;

import org.hibernate.classic.Session;
import org.hibernate.criterion.Expression;
import org.hibernate.criterion.Order;
import org.hibernate.criterion.Restrictions;

import br.com.marisanova.model.PubUsuario;

public class UsuarioDAO {
		
	public UsuarioDAO() { 
	} 
	
	public void incluir(PubUsuario u) { 
		Session session = HibernateUtil.getSessionFactory().openSession(); 
		session.beginTransaction(); 
		session.save(u); 
		session.getTransaction().commit(); 
	} 
	
	public void atualizar(PubUsuario u) { 
		Session session = HibernateUtil.getSessionFactory().openSession(); 
		session.beginTransaction(); 
		session.update(u); 
		session.getTransaction().commit(); 
	} 
	
	public PubUsuario getCursoById(Object id) { 
		Criteria c = HibernateUtil 
		.getSessionFactory() 
		.openSession() 
		.createCriteria(PubUsuario.class); 
		c.add(Restrictions.idEq(id)); 
		return (PubUsuario)c.uniqueResult(); 
	} 
	
	public List getCursoByNome(String nomeUsuario) { 
		Criteria c = HibernateUtil 
		.getSessionFactory() 
		.openSession() 
		.createCriteria(PubUsuario.class); 
		nomeUsuario = "%" + nomeUsuario + "%"; 
		if (nomeUsuario!=null) c.add(Expression.like("nomeUsuario",nomeUsuario)); 
		c.addOrder(Order.asc("idusu")); 
		return c.list(); 
	} 
	
	public List listarTodos() { 
		Criteria c = HibernateUtil 
		.getSessionFactory() 
		.openSession() 
		.createCriteria(PubUsuario.class);
		c.add(Restrictions.ge("idusu",new Long(50887)));
		c.addOrder(Order.asc("nomeUsuario")); 
		return c.list(); 
	} 
	
	
	public void excluir(PubUsuario u) { 
		Session session = HibernateUtil.getSessionFactory().openSession(); 
		session.beginTransaction(); 
		session.delete(u); 
		session.getTransaction().commit(); 
	} 
	
}
----------------------------------------------
Criado 4 de setembro de 2009
Ultima resposta 4 de set. de 2009
Respostas 2
Participantes 2