我正在使用 Hibernate 4.1.7 并尝试更新对象,但没有文档应该如何完成。目前,我正在这样做:
Person person = personDao.getPersonById(1);
person.setAge(23);
person.setLastname("McName");
person = personDao.update(person);
在 PersonDao 中,更新看起来像:
public Person update(Person person) {
return entityManager.merge(person);
}
在 PersonDao 中,getPersonById 是:
public Person getPersonById(int id) {
personQuery = entityManager.createNamedQuery("Person.findPerson", Person.class);
personQuery.setParameter("id", id);
return personQuery.getSingleResult();
}
我还在 Person 类中定义了命名查询,并且在这里:
@NamedQuery(name="Person.findPerson", query="SELECT p FROM Person p WHERE p.id = :id")
通过使用我的 Person 不会被更新,我应该如何使用 hibernate 实现更新?