Hibernate Автоматическое управление версиями - PullRequest
8 голосов
/ 03 октября 2011

Я разработал приложение для обслуживания клиентов.Пользователи могут изменять данные клиента через веб-интерфейс.Я хочу обработать следующий сценарий:

  1. User 1 загружает customer1 подробности.
  2. User 2 загружает customer1 подробности.
  3. User 1изменяет и сохраняет customer1 name.
  4. User 2 только изменяет и сохраняет customer1 возраст.

В приведенном выше сценарии, наконец, база данных содержит *Старое имя 1022 * и новый век, потому что User 2 перезаписывает обновление User 1.Я использую Hibernate.Я слышал, что Hibernate Automatic Versioning поддерживает это.Если кто-нибудь знает, как справиться с этим, пожалуйста, сообщите мне.

Ответы [ 2 ]

13 голосов
/ 03 октября 2011

Вам просто нужно добавить поле, помеченное @Version:

public class Customer {

 @Id
 private Long id;

 @Version
 private Long version;

 // rest of the fields, etc.

}

Читайте эту статью для получения дополнительной информации.

0 голосов
/ 03 октября 2011

одно решение, когда второй запрос имеет тенденцию обновлять детали, сначала проверьте, обновляются ли они после загруженных деталей, если это так, затем вызовите исключение и разрешите пользователю изменять после загрузки деталей снова, вы можете использовать метку времени изменения для сравнения

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...