Boa Tarde.
Estamos desenvolvendo um ERP, onde preciso que a configuração do Hibernate xml. seje alterado apos pedir o login do usuario., ou seja, preciso alterar o user que vai conectar no banco de dados, na SessionFactory.
Consigo fazer esta alteração via Configuration, usando setProperty, mas o problema é que esta criando esta SessionFactory, ao levantar meu projeto.. o vraptor ao levantar a aplicação já esta criando. como faço para alterar..
Tem como alterar as configurações de uma SessionFactory, apos ela criada?
Ou como fazer para o vraptor não criar esta sessionfactory na hora de levantar a aplicação?
@ApplicationScoped
@Component
public class CriadorDeSessionFactory implements ComponentFactory<SessionFactory> {
private SessionFactory factory;
@PostConstruct
public void abre() {
Configuration configuration = new Configuration();
configuration.configure();
configuration.setInterceptor(new DB2Interceptor());
configuration.setProperty(Environment.USER, "inst1");
configuration.setProperty(Environment.PASS, "inst1");
this.factory = configuration.buildSessionFactory();
}
public SessionFactory getInstance() {
return this.factory;
}
@PreDestroy
public void fecha() {
this.factory.close();
}