Método buildSessionFactor() depreciado

4 respostas
fredericoengels

Como obter uma SessionFactory no Hibernate 4.0?

Em versões anteriores, eu utilizava:

Porém, na versão 4.0 do Hibernate, o método buildSessionFactory encontra-se depreciado. Uma alternativa é utilizar o mesmo método passando como parâmetro um ServiceRegistry, que por sinal é uma interface. Nunca ouvi nem falar nessa interface… Alguém da um help ai

4 Respostas

fredericoengels

Eu até encontrei uma possível solução:

Configuration cfg = new Configuration();
cfg.configure();
ServiceRegistryBuilder srb = new ServiceRegistryBuilder();
ServiceRegistry registry = srb.buildServiceRegistry();
SessionFactory factory = cfg.buildSessionFactory(registry);

Mas quando faço uma transação qualquer, recebo:

Fiz um teste utilizando o método depreciado mesmo, e deu tudo certo… Acho que o erro ta nessa “gambiarra” aí do ServiceRegistry e tal… Alguém tem alguma solução pra esse probleminha aí???

jweibe

fredericoengels:
Eu até encontrei uma possível solução:

Configuration cfg = new Configuration();
cfg.configure();
ServiceRegistryBuilder srb = new ServiceRegistryBuilder();
ServiceRegistry registry = srb.buildServiceRegistry();
SessionFactory factory = cfg.buildSessionFactory(registry);

Mas quando faço uma transação qualquer, recebo:

Fiz um teste utilizando o método depreciado mesmo, e deu tudo certo… Acho que o erro ta nessa “gambiarra” aí do ServiceRegistry e tal… Alguém tem alguma solução pra esse probleminha aí???

Galera passei pelo mesmo problema do fredericoengels, porém conseguir contorna este problema. segue a solução

Configuration cfg = new Configuration().configure();
ConfigurationService configurationService = new ConfigurationServiceImpl(cfg.getProperties());
ServiceRegistryBuilder serviceRegistry = new ServiceRegistryBuilder().applySettings(configurationService.getSettings());
ServiceRegistry registry = serviceRegistry.buildServiceRegistry();
factory = cfg.buildSessionFactory(registry);

A pergunta a ser feita, alguém ai sabe responder por que para obter uma SessionFactory precisa fazer este procedimento,
tendo que utilizar ServiceRegistry?

F

Mas quando faço uma transação qualquer, recebo:

Eu acredito que o método abaixo possa te ajudar.

cfg.configure().setProperty(“hibernate.dialect”, “org.hibernate.dialect.MySQLDialect”);

R

jweibe:
fredericoengels:
Eu até encontrei uma possível solução:

Configuration cfg = new Configuration();
cfg.configure();
ServiceRegistryBuilder srb = new ServiceRegistryBuilder();
ServiceRegistry registry = srb.buildServiceRegistry();
SessionFactory factory = cfg.buildSessionFactory(registry);

Mas quando faço uma transação qualquer, recebo:

Fiz um teste utilizando o método depreciado mesmo, e deu tudo certo… Acho que o erro ta nessa “gambiarra” aí do ServiceRegistry e tal… Alguém tem alguma solução pra esse probleminha aí???

Galera passei pelo mesmo problema do fredericoengels, porém conseguir contorna este problema. segue a solução

Configuration cfg = new Configuration().configure();
ConfigurationService configurationService = new ConfigurationServiceImpl(cfg.getProperties());
ServiceRegistryBuilder serviceRegistry = new ServiceRegistryBuilder().applySettings(configurationService.getSettings());
ServiceRegistry registry = serviceRegistry.buildServiceRegistry();
factory = cfg.buildSessionFactory(registry);

A pergunta a ser feita, alguém ai sabe responder por que para obter uma SessionFactory precisa fazer este procedimento,
tendo que utilizar ServiceRegistry?

Eu postei essa configuracao em um post aqui no GUJ.

Criado 30 de dezembro de 2011
Ultima resposta 25 de fev. de 2013
Respostas 4
Participantes 4