使用HQL更新查询

时间:2014-10-28 00:20:02

标签: java hibernate hql

我想更新名称为员工的表格中的列(标记)。 基于价值(从部门表中的其他表格中删除)

deptid与Employee表存在多对一的关系。

 <many-to-one name="deptId"     class="Department"      column="deptId"  update="true"/>  

我编写了一个HQL查询来更新员工的标志值。我想我在下面的代码中犯了一个错误。

 public void updateEmployeeTable(Employee emp){
      String query = "update  " + Employee.class.getName()  + " set flag=? "
                + " where deptid = ? ";

        Object[] values = new Object[]{"flag value from form", "emp.getDeptId()"};
        getHibernateTemplate().update(emp);

  }

1 个答案:

答案 0 :(得分:0)

你应该传递这样的对象:

Object[] values = new Object[]{flag, emp.getDeptId()};
getHibernateTemplate().bulkUpdate(query, values);