Tem como setar o schema no hibernate dinâmicamente?
Por exemplo, eu tenho várias tabelas iguais, mas que vão ficar separadas por schemas, tem como mapear as classes de mapeamento para setar o schema da tabela?
Olá
Tem sim… acho que isso pode te ajudar
SessionFactory sessionFactory = null;
AnnotationConfiguration cfg = new AnnotationConfiguration();
//Lê configurações do arquivo hibernate.cfg.xml ou remarca o xml
cfg.setProperty("hibernate.connection.driver_class", "com.mysql.jdbc.Driver");
cfg.setProperty("hibernate.connection.url", "jdbc:mysql://192.168.0.1/testeBD");
cfg.setProperty("hibernate.connection.username", "root");
cfg.setProperty("hibernate.connection.password", "root");
cfg.setProperty("hibernate.dialect", "org.hibernate.dialect.MySQLDialect");
sessionFactory = cfg.configure().buildSessionFactory();
mapSessionFactory.put(0, sessionFactory);
Espero ter ajudado
Flwssss
Mas como isso iria setar setar o schema?
Por exemplo no schema eu quer ter um único mapeamento, para a classe Test, que é a tabela em vários schemas, sendo que no banco eu posso acessar a tabela test desta maneira, schema.test ou schema1.test, teria como setar o schema na hora que a app estiver rodando?
Thiago via a sua solução e fui procurar na net e nas configurações do hibernate existe uma propty que se chama “schema_default” foi assim que eu resolvi.