¿Cómo hacer que hibernate se comprometa rápido y eficiente?
Tengo 1000 hilos y la tarea es aumentar el valor en 1 actualización de la base de datos. Entonces, por ejemplo: Inicialmente mi base de datos tiene el valor 0, el primer subproceso aumenta el valor a 1, luego el segundo subproceso aumenta ese valor a 2, luego el tercero aumenta el valor a 3 y así hasta 1000 subprocesos, por lo que al final cuando llega el hilo número 1000, cambia el valor a 1000 de 999.
He escrito el código y el código funciona perfectamente, pero el problema es que lleva más de un minuto actualizar esos valores, así que cómo minimizar ese tiempo para que 1000 subprocesos puedan actualizarlo en menos tiempo.
public String increaseAndUpdateNumber() {
Session session = getSession();
try {
synchronized (this) {
int number = dao.getNumberdao().getNumberCount(session);
Number numberObj = dao.getNumberdao().getByNumber(session,number);
//begin of transaction
Transaction numberTx = session.beginTransaction();
number+=1;
System.out.println("number is :"+number+" numberObj :"+numberObj);
numberObj.setNumber(number);
dao.getNumberdao().update(session, numberObj);
numberTx.commit();
//end of transaction
}
return "success";
}catch(Exception e){
e.printStackTrace();
}finally {
session.close();
}
return null;
}
Actúe estos 1000 hilos en el menor tiempo posible.