E ai galera…
estou com um problema…
e o seguinte, estou desenvolvendo uma pequena api para ser utilizada na empresa que trabalho,
com as classes que sao utilizadas geralmente em todas as aplicacoes, login, Hibernate Util e etc
queria saber se e possivel eu criar um Hibernate Util como a classe abaixo mapeando somente a classe de login,
para padronizar o login de todas as aplicacoes, e importar essa api em outros projetos e adicionar as outras classes do projeto
em um arquivo xml contendo somente o mapeamento das classes.
public class HibernateUtil {
private static final SessionFactory sessionFactory = buildSessionFactory();
private static SessionFactory buildSessionFactory() {
try {
return new Configuration()
.setProperty("hibernate.connection.driver_class", "oracle.jdbc.driver.OracleDriver")
.setProperty("hibernate.connection.url", "jdbc:oracle:thin:@IP:PORTA:SID")
.setProperty("hibernate.dialect", "org.hibernate.dialect.OracleDialect")
.setProperty("hibernate.connection.username", "user")
.setProperty("hibernate.connection.password", "pass")
.setProperty("hibernate.show_sql", "true")
.setProperty("hibernate.format_sql", "true")
.setProperty("hibernate.c3p0.min_size", "5")
.setProperty("hibernate.c3p0.max_size", "40")
.setProperty("hibernate.c3p0.timeout", "300")
.setProperty("hibernate.c3p0.max_statements", "300")
.setProperty("hibernate.c3p0.idle_test_period", "3000")
.addAnnotatedClass(UsuarioLogin.class)
.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() {
return sessionFactory;
}
}
ai nas aplicacoes eu importaria o jar que contem essa classe e criaria um arquivo tipo
<hibernate-configuration>
<session-factory name="">
<!--MAPEAMENTO DAS CLASES-->
<mapping class="br.com.teste.Estoque"/>
<mapping class="br.com.teste.entities.Filial"/>
<mapping class="br.com.teste.entities.Grupo"/>
<mapping class="br.com.teste.entities.Parentesco"/>
<mapping class="br.com.teste.entities.Produtos"/>
</session-factory>
</hibernate-configuration>
ai nas classes que irao abrir a sessao eu chamo eu faco da seguinte maneira
session = HibernateUtil.getSessionFactory().openSession();