【问题标题】:Update Query using HQL使用 HQL 更新查询
【发布时间】:2014-10-28 10:06:02
【问题描述】:

我想更新名称为 Employee 的表中的列(标志)。 基于值(来自 Department 表中其他表的 deptid)

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);

  }

【问题讨论】:

    标签: java hibernate hql


    【解决方案1】:

    你应该像这样传递对象:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-09-24
      • 2016-08-12
      • 1970-01-01
      • 1970-01-01
      • 2012-12-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多