Update no banco com Hibernate

Bem pessoal, sou novo com Hibernate e estou com um problema. Tenho um Servlet que recebe requisições, faz select no banco e tenta atualizar o objeto no banco.

Por algum motivo o banco só atualiza o objeto na segunda, quarta, sexta… vez que o método é executado, ou seja, nas execuções pares. O código do servlet é o seguinte:

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
	{
		System.out.println("There is a request!");
		
		PrintWriter out = response.getWriter();
		
		String firstName = request.getParameter("first_name");
		String lastName = request.getParameter("last_name");
		String whoAmI = request.getParameter("who_am_i");
		String email = request.getParameter("email");

		Session session = DatabaseManager.getSessionFactory().openSession();
		
		Transaction tr = session.beginTransaction();
		
		User u = (User) session.createCriteria(User.class)
						.add(Restrictions.eq("email", email))
						.uniqueResult();
		
		u.setFirstName(firstName);
		u.setLastName(lastName);
		u.setWhoAmI(whoAmI);
		
		session.update(u);
		
		tr.commit();
		
		session.close();
						
		out.append("response");
		out.flush();
		out.close();
	}

O XML de configuração é o seguinte:

<?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>  
        <!-- Database connection settings -->  
        <property name="connection.driver_class">com.mysql.jdbc.Driver</property>  
        <property name="connection.url">jdbc:mysql://localhost:3306/database</property>  
        <property name="connection.username">username</property>  
        <property name="connection.password">password</property>  
  
        <!-- JDBC connection pool (use the built-in) -->  
        <property name="connection.pool_size">1</property>  
  
        <!-- SQL dialect -->  
        <property name="dialect">org.hibernate.dialect.MySQL5InnoDBDialect</property>  
  
        <!-- Echo all executed SQL to stdout -->  
        <property name="show_sql">true</property> 
        <property name="hibernate.format_sql">true</property>
        
        <property name="hibernate.transaction.factory_class">org.hibernate.transaction.JDBCTransactionFactory</property>
		<property name="hibernate.current_session_context_class">thread</property> 
  
        <!-- Mapping files -->  
        <mapping class=".User"/>  
         
    </session-factory>  
</hibernate-configuration>  

valeu

Boa noite amigo,

tente colocar essa property no seu hibernate.cfg

Diguinho.Max valeu pela força mas infelizmente não funcionou.

Noto que quando as requisições chegam acontece o seguinte:

1ª requisição - apenas o SELECT é executado
2ª requisição - SELECT e UPDATE são executados
3ª requisição - apenas o SELECT é executado
4ª requisição - SELECT e UPDATE são executados
5ª requisição - apenas o SELECT é executado
6ª requisição - SELECT e UPDATE são executados
.
.
.
requisição ímpar - apenas o SELECT é executado
requisição par - SELECT e UPDATE são executados

Abraço

Problema resolvido. Era problema na aplicação que acessava o Servlet.

[PROBLEMA RESOLVIDO]