Buscar
Social
Ofertas laborales ES

Foro sobre Java EE > Error en metodo de java

Buenas tengo este problema cuando ingreso un historial se me actualiza las horasTotales y me hace algunas operaciones de resta que sucede cuando ingreso el primer registro de la tabla funciona bien pero cuando ingreso el segundo el resultado del segundo me lo resta con el primero no entiendo porque ya probe haciendo debug y nada este es el codigo

public void crearHistorial(Equipo equipo) {
historialDao.crearHistorial(equipo, login.getUsuario(), historial.getHorastd(), historial.getUbicacion());
EntityManagerFactory emf = Persistence.createEntityManagerFactory("inventarioPU");
EntityManager em = emf.createEntityManager();
Equipo c = em.find(Equipo.class, equipo.getId());
c.setNumeroControl(historial.getUbicacion());
listahist = bm.buscarHistorial2();
for (Historial hist : listahist) {
Historial d = em.find(Historial.class, hist.getId());
d.setHorasTrabajadas(d.getHorastd() - c.getHoras()totales());
c.setHorastotales(c.horastotales + d.HorasTrabajas);
c.setHorasmotor(c.getHorasmotor() - d.getHorasTrabajadas());
c.setHorashrida(c.getHorashrida() - d.getHorasTrabajadas());
em.getTransaction().begin();
em.merge(d);
em.getTransaction().commit();

}

em.getTransaction().begin();
em.merge(c);
em.getTransaction().commit();
abrirEquipo(EquipoID);
}

mayo 16, 2016 | Registered Commenterdarksihart

y si tratas inicializando "Historial d" afuera de tu ciclo..

mayo 18, 2016 | Unregistered Commenterccastillo