Мне интересно, как обрабатывать свойство оптимистичной версии блокировки в классе сущностей с использованием JPA (основы верхней ссылки) от сервера к клиенту и наоборот.
Вот сценарий.
Из браузера пользователь отправляет запрос на сервер, запрашивая информацию об отдельном пользователе для редактирования.
Сервер обрабатывает запрос и возвращает результат браузеру. Код сервера выглядит примерно так:
EntityManager em = EmProvider.getInstance().getEntityManagerFactory().createEntityManager();
Пользователь u = (Пользователь)em.find(User.class, myUserId);
вернуть тебя; //отвечаем браузеру
Здесь мое замешательство заключается в том, что в таблице пользователей есть столбец "version"
для optimistic locking
.
Это означает, что значение поля версии также отправляется обратно клиенту, даже если клиент (я или кто-либо другой) никогда не будет его использовать. Поле версии должно использоваться в коде на стороне сервера.
Так правильно ли отправлять номер версии клиенту? Потому что иначе я не могу понять, как проверить номер версии, если пользователь нажимает кнопку «ОБНОВИТЬ» на веб-странице с измененными данными.
Пожалуйста, дайте мне знать, если вам нужно больше разъяснений.