只需在Spring MVC / Hibernate中更新多个值

时间:2012-11-18 18:03:58

标签: java spring hibernate spring-mvc

我目前正在设置Spring MVC / Hibernate应用程序,它将存储人员数据库。

我已使用以下教程进行设置(删除了评论): http://krams915.blogspot.co.uk/2011/01/spring-mvc-3-hibernate-annotations.html

public void edit(Person person) {
  logger.debug("Editing existing person");
  Session session = sessionFactory.getCurrentSession();
  Person existingPerson = (Person) session.get(Person.class, person.getId());
  existingPerson.setFirstName(person.getFirstName());
  existingPerson.setLastName(existingPerson.getLastName());
  existingPerson.setMoney(existingPerson.getMoney());
  session.save(existingPerson);
}

有没有办法可以更新整个人,而无需指定每个更新的字段(例如 existingPerson.setFirstName(person.getFirstName()); )?我希望能够在项目扩展时根据需要轻松添加任意数量的字段,而无需每次都更新此类。

在评论中,有一些建议 session.update(page); 会起作用,但这只会引发错误(具有相同标识符值的另一个对象已经关联会议)。

1 个答案:

答案 0 :(得分:0)

如何创建函数的Person参数。由于该对象已存在id,因此我假设它是在函数调用之前从数据库中获取的。

所以只需一个session.save(person)就可以了。