Hibernate 4.1 SessionFactory

3 respostas
J

E ai galera blz...sou novo no java e no fórum,estou com um probleminha com o hibernate 4.1.8 para se conectar com o banco MySql 5.5.2.
coloquei ai as implementações das duas classes que esta dando erro que eu não consegui desvendar, alguém poderia me dizer o q poderia ser ???
e o hibernate.cfg.xml esta no diretorio src.

public class HibernateUtil {
	private static SessionFactory sessionFactory;
	private static ServiceRegistry serviceRegistry;

	public static SessionFactory configureSessionFactory(){
		try {
			Configuration configuration = new Configuration();
			configuration.configure();		
			serviceRegistry = (ServiceRegistry) new ServiceRegistryBuilder().applySettings(configuration.getProperties()).buildServiceRegistry();
			sessionFactory = configuration.buildSessionFactory((org.hibernate.service.ServiceRegistry) serviceRegistry);
			return sessionFactory;
		} catch (HibernateException e) {
			System.out.println("Erro:" + e);
			throw new ExceptionInInitializerError(e);
		}
	}
}

public class ConectaHibernateMySQL {
	
	public static void main(String[] args) {
		Session sessao = null;
		try {
			sessao = HibernateUtil.configureSessionFactory().getCurrentSession();
			System.out.println("Conectou!");
		} finally {
			sessao.close();
		}
	}
}

[b]O erro e esse logo abaixo[/b]

04/12/2012 07:57:20 org.hibernate.annotations.common.Version <clinit>
INFO: HCANN000001: Hibernate Commons Annotations {4.0.1.Final}
04/12/2012 07:57:20 org.hibernate.Version logVersion
INFO: HHH000412: Hibernate Core {4.1.8.Final}
Exception in thread "main" java.lang.NullPointerException
	at teste.ConectaHibernateMySQL.main(ConectaHibernateMySQL.java:15)

3 Respostas

R
serviceRegistry = (ServiceRegistry) new ServiceRegistryBuilder().applySettings(configuration.getProperties()).buildServiceRegistry();  
            sessionFactory = configuration.buildSessionFactory((org.hibernate.service.ServiceRegistry) serviceRegistry);

Tira o cast (ServiceRegistry) do serviceRegistry, e tb disso configuration.buildSessionFactory((org.hibernate.service.ServiceRegistry) serviceRegistry);

Nao precisa fazer o cast para eles.

J

blz kra… Mas me tira uma duvida só.
Eu tava vendo o meu codigo,eu preciso necessariamente mapear uma classe Entidade e a sau anotacao no
hibernate.cfg.xml para consiga iniciar uma sessao ou apenas com essas duas calsse eu consigo iniciar a sessao.

R

Se voce usar as anotacoes, voce nao precisara mapear elas no hibernate.cfg.xml, e sim no mesmo lugar onde voce seta o serviceRegistry, mas é bem mais simples.

Criado 4 de dezembro de 2012
Ultima resposta 12 de dez. de 2012
Respostas 3
Participantes 2