Olá Pessoal. Estou fazendo um trabalho de faculdade onde estou avaliando o desempenho do Hibernate. Eu estou achando ele muito lento para salvar um simples registro. Está demorando quase 2 segundos sendo que era pra ser meio segundo. Será que pode ser o log que está ativado? Estou usando o slf4j para debugar. Como eu desativo ele?
Banco utilizado: Mysql5 InnoDB
public class PageDAO {
private static final Log log = LogFactory.getLog(PageDAO.class);
private final SessionFactory sessionFactory = getSessionFactory();
protected SessionFactory getSessionFactory() {
try {
return new Configuration().configure()
.buildSessionFactory();
} catch (Exception e) {
log.error("erro buildSessionFactory", e);
throw new IllegalStateException(
"erro buildSessionFactory");
}
}
public void persist(Page transientInstance) {
log.debug("persisting Page instance");
Session session = sessionFactory.openSession();
Transaction transaction = null;
Long courseId = null;
try {
transaction = session.beginTransaction();
session.persist(transientInstance);
transaction.commit();
} catch (HibernateException e) {
transaction.rollback();
e.printStackTrace();
} finally {
sessionFactory.close();
}
}
public class PageTest{
public static void main(String args[]) {
long tempoInicial = System.currentTimeMillis();
PageDAO pageDao = new PageDAO();
Page page = new Page();
page.setPageNamespace(234234);
page.setPageTitle("ooooo");
byte[] s = new byte[3];
page.setPageRestrictions(s);
page.setPageCounter(234);
page.setPageIsRedirect((byte)1);
page.setPageIsNew((byte) 1);
page.setPageRandom(12);
page.setPageTouched(s);
page.setPageLatest(1);
page.setPageLen(3);
pageDao.persist(page);
long tempoFinal = System.currentTimeMillis();
System.out.println( tempoFinal - tempoInicial );
}
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<property name="hibernate.bytecode.use_reflection_optimizer">false</property>
<property name="hibernate.connection.driver_class">org.gjt.mm.mysql.Driver</property>
<property name="hibernate.connection.password">123456</property>
<property name="hibernate.connection.url">jdbc:mysql://localhost:3306/wikidb</property>
<property name="hibernate.connection.username">root</property>
<property name="hibernate.dialect">org.hibernate.dialect.MySQL5InnoDBDialect</property>
<property name="hibernate.search.autoregister_listeners">false</property>
<property name="connection.pool_size">20</property>
<mapping resource="hibernate/entity/Revision.hbm.xml" />
<mapping resource="hibernate/entity/Page.hbm.xml" />
<mapping resource="hibernate/entity/Text.hbm.xml" />
</session-factory>
</hibernate-configuration>