Olá,
pensando no futuro estou fazendo testes com os metodos persist,merge não usando close após as operarações (insert,update)
e fui no Mysql Administrator e vi que as conexões com banco foram fechadas …
Minha duvida no momento vou usar o pool de conexão c3p0 e no futuro quiser mudar pool de conexão para Servidor de APlicação
vai dar problema ???
Ou do jeito que está funciona no Servidor de Aplicação ???
Qual seria a boa pratica de mercado usar o close ou não ???
abs
---
public void merge(T t) throws DaoException {
try {
em.getTransaction().begin();
em.merge(t);
em.getTransaction().commit();
} catch(Exception e) {
em.getTransaction().rollback();
}finally{
//em.close();
}
}
----
public void persist(T t) throws DaoException {
try {
em.getTransaction().begin();
em.persist(t);
em.getTransaction().commit();
} catch(Exception e) {
em.getTransaction().rollback();
}finally{
//em.close();
}
}
----
--
<persistence-unit name="banco" transaction-type="RESOURCE_LOCAL">
<provider>org.hibernate.ejb.HibernatePersistence</provider>
<properties>
<!-- Only scan and detect annotated entities -->
<property name="hibernate.archive.autodetection" value="class"/>
<property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect"/>
<property name="hibernate.connection.driver_class" value="com.mysql.jdbc.Driver"/>
<property name="hibernate.connection.url" value="jdbc:mysql://localhost/banco"/>
<property name="hibernate.connection.username" value="root"/>
<property name="hibernate.connection.password" value="root"/>
<property name="hibernate.show_sql" value="true" />
<property name="hibernate.c3p0.min_size" value="0"/>
<property name="hibernate.c3p0.max_size" value="10"/>
<property name="hibernate.c3p0.timeout" value="1000"/>
<property name="hibernate.c3p0.max_statements" value="50"/>
<property name="hibernate.c3p0.idle_test_period" value="3000"/>
<property name="hibernate.c3p0.acquire_increment" value="2"/>
</properties>