JPA / Hibernate - 如何通过合并更新有限的实体列

时间:2014-12-27 12:01:53

标签: hibernate jpa

我有一个包含20列的表。现在我想只更新三列。有没有办法在不使用命名查询的情况下执行相同的操作,因为记录的数量太大而需要更新的列在每个记录中具有不同的值。

1 个答案:

答案 0 :(得分:0)

只是要明白,如果你只需要更新几列,那么为什么要使用merge,只需在DAO层中设置那些字段。

@Entity
class Employee{

  private String name;

  private String id;

  private String salary;
  // getter setter

}

在您的DAO图层中,您可以执行以下操作。

Employee emp = (Employee)session.get(Employee.class,id);
emp.setName("test");

在交易结束时,它将自动刷新,无需使用merge()。