|
|
|
В JPA есть поддержка SELECT...LOCK IN SHARE MODE ?
|
|||
|---|---|---|---|
|
#18+
В JPA Есть такая штука, как LockModeType.PESSIMISTIC_READ и LockModeType.PESSIMISTIC_WRITE. Причем, гугл говорит, что если хочется SELECT..FOR UPDATE, то надо использовть LockModeType.PESSIMISTIC_WRITE. Логично было бы предположить, что если мы сделаем Query.setLockMode(LockModeType.PESSIMISTIC_READ) - то orm фреймворк должен к селекту добавить модификатор LOCK IN SHARE MODE. Явного указания, что так должно быть, я не нашел, но насколько я себе это представляю, оно должно быть именно так. Я проверил исходники хибернейта и исходники dataNucleus - в них нету подстроки "LOCK IN SHARE MODE", хотя FOR UPDATE есть и оба фреймворка умеют его делать. dataNucleus делает FOR UPDATE на обеих типах локов. Вопрос. Это я неправильно понял смысл PESSIMISTIC_READ локов, или это в обеих фреймворках такая фича не реализована? Но как тогда правильно делать концепцию много читателей-мало писателей? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.05.2015, 12:32 |
|
||
|
В JPA есть поддержка SELECT...LOCK IN SHARE MODE ?
|
|||
|---|---|---|---|
|
#18+
chabapok, Начать с того чтобы не блокировать вообще. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2015, 07:55 |
|
||
|
В JPA есть поддержка SELECT...LOCK IN SHARE MODE ?
|
|||
|---|---|---|---|
|
#18+
Я бы рад, но если я так сделаю - у меня данные в итоге получатся неконсистентны, и как сделать так чтобы оно работало надежно - я не знаю. Если у вас есть ссылка на доку как такое делается - поделтесь, плз. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2015, 14:35 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=38955167&tid=2125418]: |
0ms |
get settings: |
8ms |
get forum list: |
19ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
152ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
57ms |
get tp. blocked users: |
1ms |
| others: | 220ms |
| total: | 476ms |

| 0 / 0 |
