函数不会增加1

时间:2019-04-05 14:12:12

标签: java mysql java-ee jboss wildfly-9

我在JavaEE中有一个项目,我的任务是影响教授使用某种表格(学生安置表格),我有一个名为“ nb_sup”的属性,该属性是由选定教授监督的学生人数,该数量为教授每次受到学生的影响时,加一。问题是无论我影响同一位教授多少次,我的函数都会将“ nub_sup”设置为一个。

这是我的代码

public  void SetNbSupPrfessor(Professor prof) 
    {
        Query query = em.createQuery("update Professor u set nb_sup=:nb_sup WHERE u.id =:id");
        query.setParameter("nb_sup", (1+ prof.getNb_sup()));
        query.setParameter("id",prof.getId() );
        query.executeUpdate(); 
    }

可以肯定地说,教授是从“用户”实体继承的,“ nb_sup”的类型是int,“ id”是自动增量。

我编辑了代码,使该代码可以正常工作

        Professor prof = em.createQuery("select p from Professor p where p.id = :id",Professor.class)
                .setParameter("id",id)
                .getSingleResult();
        prof.setNb_sup(prof.getNb_sup()+1);
        em.merge(prof);

0 个答案:

没有答案