Я знаю, какая оптимистическая и пессимистическая блокировка есть, но когда вы пишете код Java, как вы это делаете? Предположим, я использую Oracle с Java, есть ли у меня какие-либо методы в JDBC, которые помогут мне это сделать? Как я смогу настроить эту штуку? Любые указатели будут оценены.Как кодировать оптимистичную и пессимистичную блокировку из кода Java
6
A
ответ
3
Предположим, что я использую Oracle с Java, есть ли у меня какие-либо методы в JDBC, которые помогут мне в этом?
This Oracle paper должен предоставить вам несколько советов о том, как это сделать.
Не существует конкретных методов JDBC. Скорее, вы достигаете оптимистической блокировки, так как вы разрабатываете свои SQL-запросы/обновления и размещаете границы транзакций.
11
Вы можете реализовать оптимистический замки в вашей таблице БД таким образом (это как Оптимистическая блокировка делаются в спящем режиме):
- Добавить столбец целочисленного «версии» к вашему столу.
- Увеличьте значение этого столбца при каждом обновлении соответствующей строки.
- Чтобы получить блокировку, просто прочитайте значение «версия» строки.
- Добавить выражение «version = полученное_version» в where, где - инструкция по обновлению. Проверьте количество затронутых строк после обновления. Если никакие строки не были затронуты - кто-то уже изменил вашу запись.
Ваше обновление должно выглядеть
UPDATE mytable SET name = 'Andy', version = 3 WHERE id = 1 and version = 2
Конечно, этот механизм работает только тогда, когда все стороны следовать, в отличие от СУБД, предусмотренных замков, которые не требуют специальной обработки.
Надеюсь, это поможет.
Смежные вопросы
- 1. Grails Hibernate: отключить оптимистичную блокировку в суперклассе
- 2. Hibernate использует пессимистическую или оптимистичную блокировку?
- 3. Как использовать оптимистичную блокировку с гибернацией при изменении полей
- 4. Как использовать оптимистичную блокировку с данными Spring MongoDB?
- 5. Как реализовать оптимистичную блокировку в Azure Mobile Service?
- 6. Принудительное удаление таблицы, использующей оптимистичную блокировку с номером версии
- 7. Отключить оптимистичную блокировку по всему миру в Grails
- 8. Сделать блокировку асинхронного кода
- 9. Как кодировать и декодировать SecretKey в JAVA?
- 10. Как это сделать, когда объект с аннотированным полем или свойством @Version, автоматически блокирует оптимистичную блокировку?
- 11. Java дважды проверял блокировку
- 12. NHibernate: Можно ли предотвратить оптимистичную грязную блокировку только для операторов DELETE?
- 13. Как ждать() получить блокировку обратно в Java
- 14. Как кодировать DropDownButton в Java
- 15. Как кодировать конвертер исходного кода из python в ruby?
- 16. Продюсер и потребитель, использующий блокировку в Java
- 17. Как жестко кодировать код из этого кода в Wordpress?
- 18. как rot13 (кодировать и декодировать) в строке кода php
- 19. JPA 2.0 Eclipselink - добавление/удаление в дочерний список получает оптимистичную блокировку
- 20. Можно ли использовать управление версиями JPA/оптимистичную блокировку для предотвращения отправки старых данных для изменения?
- 21. Как предотвратить блокировку кода в моих андроидных jni-вызовах?
- 22. Как реализовать блокировку в приложении Java/C
- 23. java: попробуйте, наконец, выполнить блокировку
- 24. Как обнаружить блокировку приложения Java в Netbeans?
- 25. способов кодировать Java Слушатель
- 26. Java Как реализовать блокировку на ConcurrentHashMap читать
- 27. Имеет ли async.parallel также блокировку блокировки кода?
- 28. Как читать значение JNDI из кода Java?
- 29. Несколько разблокировать блокировку в Java?
- 30. кодировать и декодировать Http-запрос в Java
Блокировка Java и JDBC не связаны так, как вы ищите. В чем проблема, которую вы пытаетесь решить? Блокировки Java - это блокировки, которые могут быть получены с помощью «синхронизированного» ключевого слова. Итак, что именно вы ищете? – Pavan
Я ищу блокировку базы данных – user2434