我目前正在设置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); 会起作用,但这只会引发错误(具有相同标识符值的另一个对象已经关联会议)。
答案 0 :(得分:0)
如何创建函数的Person参数。由于该对象已存在id,因此我假设它是在函数调用之前从数据库中获取的。
所以只需一个session.save(person)就可以了。