有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

jpa中的java更新错误

第一次注册时添加horastotales时进行更新时,我遇到了一个问题。代码运行良好,但当我将第二个代码插入0时,我开始添加错误的值​​字段sum是属性double这是执行此操作的代码 只有当我插入第一个操作时,如果其他值​​结果被改变了吗

   public void crearHistorial(Equipo equipo) {
    historialDao.crearHistorial(equipo, login.getUsuario(), historial.getHorastd(), historial.getUbicacion());
    EntityManagerFactory emf = Persistence.createEntityManagerFactory("inventarioPU");
    EntityManager em = emf.createEntityManager();
   equipo.setNumeroControl(historial.getUbicacion());
    equipoDAO.actualizarequipo(equipo, login.getUsuario());
    abrirEquipo(equipoID);
    Query query = em.createQuery("UPDATE Historial c SET c.horasTrabajadas= c.horastd -" + equipo.getHorastotales() + " WHERE c.equipo.id=" + equipo.getId());
    em.getTransaction().begin();
    query.executeUpdate();
    em.getTransaction().commit();
    listahist= bm.buscarHistorial(equipoID);
    for (Historial hist : listahist) {
        Query query1 = em.createQuery("UPDATE Equipo c SET c.horastotales = c.horastotales +" + hist.getHorasTrabajadas() + " WHERE c.id=" + equipo.getId());
        Query query2 = em.createQuery("UPDATE Equipo c SET c.horasmotor= c.horasmotor -" + hist.getHorasTrabajadas() + " WHERE c.id=" + equipo.getId());
        Query query3 = em.createQuery("UPDATE Equipo c SET c.horashrida= c.horashrida  -" + hist.getHorasTrabajadas() + " WHERE c.id=" + equipo.getId());
        em.getTransaction().begin();
        query1.executeUpdate();
        query2.executeUpdate();
        query3.executeUpdate();
        em.getTransaction().commit(); 
    } }

Show error in this image


共 (0) 个答案