Я создаю веб-сервис Джерси, используя Hibernate. Одним из доступных способов обновляет запись в базе данных, я делаю так:Hibernate проверить, удалось ли обновить запись
private Boolean updateSingleRecord(Session session, Person updatedRecordData)
{
try
{
short id = updatedRecordData.getPersonId();
Person per = (Person) session.load(Person.class, id);
per.setPersonEmail(updatedRecordData.getPersonEmail());
per.setPersonMobile(per.getPersonMobile());
transaction.commit(); //was defined earlier in the code
return true;
}
catch(Exception e)
{
return false;
}
}
Поля определяют таким образом, что мобильный телефон должен иметь уникальное значение. Если я обновляю объект до уже существующего значения, я не получу никакой ошибки, но значение просто не изменится. Как определить, было ли внесено изменение после фиксации без сравнения начального и нового значений?
ли это прояснить ситуацию? – pacman