Я использую Hibernate и Spring.
Я пишу сервисный метод для сохранения объекта (платы), в котором есть очень специфические бизнес-правила о том, когда его можно сохранять в зависимости от его текущего состояния БД. Например, если charge.status.equals (Status.CANCELED) он не должен обновляться. (Существуют и другие, более конкретные правила, но это должен быть хороший пример для работы.) Возможно, другой код может загрузить отмененный платеж и ошибочно изменить статус на утвержденный, а затем вызвать функцию сохранения (сбор). Метод save должен быть в состоянии идентифицировать эту ошибку независимо от того, был ли переданный заряд постоянным или отсоединенным.
Есть ли простой способ сравнить объект в моей памяти с текущим постоянным состоянием объекта в БД?