Boa noite! Existe uma forma de configurar o Hibernate programaticamente sem ser com o spring? e se existe poderia me dar um exemplo? eu estou precisando disso para um projeto.
grato.
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Boa noite! Existe uma forma de configurar o Hibernate programaticamente sem ser com o spring? e se existe poderia me dar um exemplo? eu estou precisando disso para um projeto.
grato.
O hibernate não precisa ser usado só com o spring, você pode configurar com o spring e usar normalmente com outros framework tipo jsf spring... Mais a configuração dele é mais ou menos assim.
<?xml version="1.0" encoding="UTF-8"?>
<persistence xmlns="http://java.sun.com/xml/ns/persistence"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd"
version="2.0">
<persistence-unit name="nomeDoSeuProjeto" transaction-type="RESOURCE_LOCAL">
<provider>org.hibernate.ejb.HibernatePersistence</provider>
<properties>
<property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver" />
<property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost/bercalini" />
<property name="javax.persistence.jdbc.user" value="root" />
<property name="javax.persistence.jdbc.password" value="admin" />
<property name="hibernate.hbm2ddl.auto" value="update" />
<property name="hibernate.show_sql" value="true" />
<property name="hibernate.dialect" value="org.hibernate.dialect.MySQL5InnoDBDialect" />
</properties>
</persistence-unit>
</persistence>
Boa tarde Allison,
Minha dúvida é como fazer essa configuração em tempo de execução, você me entende?
quando eu vou deplora minha app eu preciso que isso seja executado e configurado.
de qualquer forma eu já consegui fazer aqui, achei uns exemplos no stack overflow e deu certo.
public class HibernateUtil {
private static final ThreadLocal<Session> threadLocal = new ThreadLocal<Session>();
private static SessionFactory sessionFactory = null;
public static Session openSession(String host, int port, String base, String login, String senha) {
Configuration config = new Configuration().configure(new HibernateUtil().getPath());
config.setProperty("hibernate.connection.url", "jdbc:postgresql://" + host + ":" + port + base);
config.setProperty("hibernate.connection.username", login);
config.setProperty("hibernate.connection.password", senha);
sessionFactory = config.buildSessionFactory();
threadLocal.set(sessionFactory.openSession());
return threadLocal.get();
}
public String getPath() {
return getClass().getProtectionDomain().getCodeSource().getLocation().getPath() + "/hibernate.cfg.xml";
}
}