Что такое функция org.hibernate.type VersionType? - PullRequest
0 голосов
/ 13 января 2012

Я обнаружил, что в моей таблице есть столбец версии, поэтому в hibernate произошла ошибка.Но что это предоставляет функции?Я прочитал документ, но не очень хорошо понимаю.

Javadoc:

/**
 * Additional contract for types which may be used to version (and optimistic lock) data.
 *
 * @author Gavin King
 * @author Steve Ebersole
 */

Спасибо.

1 Ответ

1 голос
/ 13 января 2012

, когда несколько клиентов хотят обновить одни и те же данные, которые вы можете выбрать между:

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

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

как реализовать оптимистичный (возможно, не самый лучший)

дальнейшее чтение

хороший ответ, когда что использовать

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